![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
Привет всем! Доброго времени суток!
Луди, обясните плз, чем отличаеться hendle от pointer-а??? Ну о поинтере я представление имею. А вот о хенделе ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 239
|
![]()
hendle? оо
Handle - Описатель обьекта, так называемая "Ручка" Pointer - Тип данных, равный 4 байтам, обычно хранит адррес ячейки памяти, и соответсвенно через него можно обратиться к ней В чем вообще суть вопроса я так и не понял?... зы THandle - Тип данных, 4 байта, обычно используеться для храненния Handle, можешь заменить все на DWord, но это не типизированно получиться) Последний раз редактировалось Ring0Sn; 06.10.2008 в 08:22. |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
![]() Цитата:
К примеру, вы решили измерить, сколько сантиетров в вашей комнате от стены до стола. Вы берёте рулетку и мереете, ага, оказалось от стены до стола 150 сантиметров, то место, откуда начинается стол, эти самые 150 сантиметров, вы записываете на бумажку. Если говорить языком информатики, вы создали указатель, который указывает на начало объекта стол в вашей комнате. Точно также, все объекты в памяти занимают какое-то место и тип данных Pointer, позволяет сделать "засечку", т.е. он запоминает адрес, откуда, с какого "расстояния от начала памяти" они начинают занимать место. Последний раз редактировалось Rik; 07.10.2008 в 17:01. |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 239
|
![]()
А с чего ты взял что "он" содержит "их" в себе? (вообще - в себе это где?
![]() "Handle" по русски, это и есть описатель, в данном случае. (сунул бы хоть в переводчик для начала или еще куда..=) http://www.google.ru/search?complete...ition&ct=title http://www.google.ru/search?complete...1%81%D0%BA&lr= .................пишите письма на емайлтьфуточкару................ Последний раз редактировалось Ring0Sn; 07.10.2008 в 17:16. |
![]() |
![]() |
![]() |
#6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
А сейчас прозвучит ответ на вопрос темы: Ничем. 4 байта = 4 байта.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
А, значит Handle, это всего лишь уникальный ID, который выдаёться объекты в момент выделения ему памяти?
Яснышко... Спасибо ребята! |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
Handle = LongWord;
Pointer = ^Untyped; Указатель (пойнтер, англ. pointer) — переменная, диапазон значений которой состоит из адресов ячеек памяти и специального значения — нулевого адреса. Значение нулевого адреса не является реальным адресом и используется только для обозначения того, что указатель в данный момент не может использоваться для обращения ни к какой ячейке памяти. Указатели применяются в двух различных сферах. Во-первых, они позволяют использовать некоторые выгоды косвенной адресации, широко применяемой в программировании на языках ассемблера. Во-вторых, указатели предлагают метод динамического управления памятью: их можно использовать для доступа к области с динамическим размещением памяти, обычно называемой кучей, или динамической памятью. Переменные, размещаемые в куче, называются динамическими. Часто они не содержат связанных с ними идентификаторов, и ссылаться на них можно только с помощью указателей и ссылок. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
![]()
Вы мыслите догмами языка C, это в нем, если физически, переменные размером не отличаются, вы можете сделать THandle = Pointer и компилятор все прожует и пропустит. В Delphi все не так, Delphi более жестко отслеживает типы, и неявно такие вещи не допустит, во избежании ошибки, т.к. хоть они физически размером не отличаются, но предназначены совершенно для разных вещей. В этом и есть приемущество паскале подобных языков над C подобными. Отладка того-же Linux, после того как он раздулся до гигантских размеров, стала сущим адом. Большая часть ошибок происходит из-за того, что язык С допускает вышеописанные присвоения и программисты этим пользуются, а поиск такой ошибки вещь жутко муторная...
Поэтому, раз уж вы в Delphi ветке отвечайте по существу и не морочьте людям голову. По вашему получается, 1кг печенья = 1кг сухарей, физически да, но если вы в магазине попросите 1 кг печенья, а вам подсунут 1 кг сухорей, вы явно завозмущаетесь, вес хоть и одинаковый а суть то разная... Последний раз редактировалось Rik; 08.10.2008 в 21:19. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как имея handle окна узнать handle edit-a который находится в етом окне | SeRhy | Общие вопросы Delphi | 1 | 20.07.2008 13:48 |
Handle | -=<[Evklidd]>=- | Общие вопросы Delphi | 5 | 03.03.2008 09:02 |
Invalid pointer operation | Димарик | Общие вопросы Delphi | 2 | 05.11.2007 09:53 |
Delphi + dll= Invalid Pointer Operator | LEKA | Общие вопросы Delphi | 4 | 01.05.2007 23:38 |
Handle на объекты ядра | al_capone212 | Win Api | 1 | 24.11.2006 20:20 |