Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2008, 07:29   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию handle <> pointer

Привет всем! Доброго времени суток!
Луди, обясните плз, чем отличаеться hendle от pointer-а??? Ну о поинтере я представление имею. А вот о хенделе
Altera вне форума Ответить с цитированием
Старый 06.10.2008, 08:05   #2
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

hendle? оо
Handle - Описатель обьекта, так называемая "Ручка"
Pointer - Тип данных, равный 4 байтам, обычно хранит адррес ячейки памяти, и соответсвенно через него можно обратиться к ней
В чем вообще суть вопроса я так и не понял?...

зы THandle - Тип данных, 4 байта, обычно используеться для храненния Handle, можешь заменить все на DWord, но это не типизированно получиться)

Последний раз редактировалось Ring0Sn; 06.10.2008 в 08:22.
Ring0Sn вне форума Ответить с цитированием
Старый 07.10.2008, 15:32   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Handle - Описатель обьекта, так называемая "Ручка"
А как он содержит в себе описание обекта? Веть тогда он должен содержать в себе значения переменных, которые содержит в себе обьект?
Altera вне форума Ответить с цитированием
Старый 07.10.2008, 16:50   #4
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
А как он содержит в себе описание обекта? Веть тогда он должен содержать в себе значения переменных, которые содержит в себе обьект?
Все элементы в Windows да и в Linux тоже, будь то оконный элемент, либо элементы GDI имеют свой уникальный идентификатор или номер (Handle), если знаешь Handle, можешь обратиться к любому окну и средствами Windows API (Linux API) ими (этими объектами) манипулировать. Pointer - указатель, он просто ссылается на люьое место в памяти, вы можете его, как стрелку повернуть на какую-либо переменную или класс, т.е. в Pointer записывается адрес начала блока памяти, этот блок памяти может занимать либо переменная либо агрегатный объект и т.д.
К примеру, вы решили измерить, сколько сантиетров в вашей комнате от стены до стола. Вы берёте рулетку и мереете, ага, оказалось от стены до стола 150 сантиметров, то место, откуда начинается стол, эти самые 150 сантиметров, вы записываете на бумажку. Если говорить языком информатики, вы создали указатель, который указывает на начало объекта стол в вашей комнате. Точно также, все объекты в памяти занимают какое-то место и тип данных Pointer, позволяет сделать "засечку", т.е. он запоминает адрес, откуда, с какого "расстояния от начала памяти" они начинают занимать место.

Последний раз редактировалось Rik; 07.10.2008 в 17:01.
Rik вне форума Ответить с цитированием
Старый 07.10.2008, 17:13   #5
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 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=
Цитата:
Сообщение от Altera Посмотреть сообщение
А как он содержит в себе описание обекта? Веть тогда он должен содержать в себе значения переменных, которые содержит в себе обьект?
.................пишите письма на емайлтьфуточкару................

Последний раз редактировалось Ring0Sn; 07.10.2008 в 17:16.
Ring0Sn вне форума Ответить с цитированием
Старый 07.10.2008, 17:30   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

А сейчас прозвучит ответ на вопрос темы: Ничем. 4 байта = 4 байта.
BOBAH13 вне форума Ответить с цитированием
Старый 07.10.2008, 19:56   #7
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

А, значит Handle, это всего лишь уникальный ID, который выдаёться объекты в момент выделения ему памяти?
Яснышко...
Спасибо ребята!
Altera вне форума Ответить с цитированием
Старый 07.10.2008, 20:28   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Handle = LongWord;
Pointer = ^Untyped;
Указатель (пойнтер, англ. pointer) — переменная, диапазон значений которой состоит из адресов ячеек памяти и специального значения — нулевого адреса. Значение нулевого адреса не является реальным адресом и используется только для обозначения того, что указатель в данный момент не может использоваться для обращения ни к какой ячейке памяти.

Указатели применяются в двух различных сферах. Во-первых, они позволяют использовать некоторые выгоды косвенной адресации, широко применяемой в программировании на языках ассемблера. Во-вторых, указатели предлагают метод динамического управления памятью: их можно использовать для доступа к области с динамическим размещением памяти, обычно называемой кучей, или динамической памятью. Переменные, размещаемые в куче, называются динамическими. Часто они не содержат связанных с ними идентификаторов, и ссылаться на них можно только с помощью указателей и ссылок.
Alter вне форума Ответить с цитированием
Старый 08.10.2008, 21:11   #9
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
А сейчас прозвучит ответ на вопрос темы: Ничем. 4 байта = 4 байта.
Вы мыслите догмами языка C, это в нем, если физически, переменные размером не отличаются, вы можете сделать THandle = Pointer и компилятор все прожует и пропустит. В Delphi все не так, Delphi более жестко отслеживает типы, и неявно такие вещи не допустит, во избежании ошибки, т.к. хоть они физически размером не отличаются, но предназначены совершенно для разных вещей. В этом и есть приемущество паскале подобных языков над C подобными. Отладка того-же Linux, после того как он раздулся до гигантских размеров, стала сущим адом. Большая часть ошибок происходит из-за того, что язык С допускает вышеописанные присвоения и программисты этим пользуются, а поиск такой ошибки вещь жутко муторная...
Поэтому, раз уж вы в Delphi ветке отвечайте по существу и не морочьте людям голову. По вашему получается, 1кг печенья = 1кг сухарей, физически да, но если вы в магазине попросите 1 кг печенья, а вам подсунут 1 кг сухорей, вы явно завозмущаетесь, вес хоть и одинаковый а суть то разная...

Последний раз редактировалось Rik; 08.10.2008 в 21:19.
Rik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как имея 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