Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

Что такое "Hendle" и как с ним боротся?   Найти похожие ветки 

 
VAmpiro$   (2004-09-21 02:02) [0]

Ув. мастера!
Мне пока 17 лет, и в Delphi я еще далеко не ас..
но кое что умею.
Меня интерисует следуюший вопрос:
Для чего собственно предназначен "Hendle", что он собой представляет???
Понимая что даний вопрос многостороний, я прошу Вас указать ссилки на статьи, или книги...

Вот и усё.


 
GuAV ©   (2004-09-21 02:47) [1]

http://msdn.microsoft.com/


 
Palladin ©   (2004-09-21 02:57) [2]

Удалено модератором
Примечание: Оффтоп...


 
Jus   (2004-09-21 06:53) [3]

Удалено модератором
Примечание: Оффтоп...


 
KSergey ©   (2004-09-21 07:26) [4]

Handle - как правило некий идентификатор некоего ресурса системы. Как правило - стандартное для этой платформы целое.
Используется для указания с каким именно элементом системы мы собираемся работать.
Т.е. ф-ции создания (окна, например) возвращает этот Handle (в данном случае он будет типа HWND, а вообще-то это 32-х разрядное целое для Win32), а ф-ция изменения размеров, например, как один из параметров этот HWND принимает (чтобы знать какое окно колбасить).
Ну и т.д.


 
sniknik ©   (2004-09-21 08:52) [5]

и чего это так, все хотят именно "боротся" а не изучать?
VAmpiro$
уверен в правильности выбора проффесии?


 
Gero ©   (2004-09-21 08:53) [6]

Развод.


 
SergP.   (2004-09-21 08:55) [7]

Удалено модератором
Примечание: Оффтоп...


 
Zhekson   (2004-09-21 09:47) [8]

Рад приветствовать педагогов, проведших работу над ошибками.

to VAmpiro$
[4] - тебе поможет

а вообще зря ты светанул свой возраст и незнание ответа на какой-либо вопрос, теперь история про твою гениальность не прокатит. А жаль ведь здесь большинство знает что такое Handle, с пелёнок.


 
pasha_golub ©   (2004-09-21 10:28) [9]

Zhekson   (21.09.04 09:47) [8]
Согласен.

Palladin ©   (21.09.04 02:57) [2]
sniknik ©   (21.09.04 08:52) [5]
SergP.   (21.09.04 08:55) [7]
Jus   (21.09.04 06:53) [3]
Фи, товарищи.


 
Плохиш ©   (2004-09-21 10:40) [10]

Удалено модератором
Примечание: Оффтоп...


 
TUser ©   (2004-09-21 10:50) [11]


> А жаль ведь здесь большинство знает что такое Handle, с
> пелёнок.

То есть, здесь большинство родилось году эдак в 1990-1991. До того, хэндлов, вроде бы не было (хотя я не уверен про полуось).

А вообще зря на человека накинулись. Знания - дело наживное. Можно сказать так. Win - основанная на объектах система. однако MS не документирует внутреннюю структуру объектов и не дает непосредственно с ними работать. Этосделано для совместимости и для борьбы с кул-хацкерами. Вместо самого объекта система дает нам его дискриптор - хэндель. А кроме того, дает множество api-функций, каждая из которых может сделать что-то с объектом, Handle которого ей передан. Или создать обект, вернуть его handle. С прикладной точки зрения handle - это просто число. Что оно означает совершенно не важно, хотя у некоторых авторов (см. Ф.Юань, Рихтер) можно найти интересные подробности (добытые какими-то полухарекскими методами) про смысл этих чисел. Например, из хендла объекта GUI можно узнать номер этого элемента в таблице объектов, обратиться к этой таблице с помощью незадокументированных API-функий и узнать адрес структуры, которая хранит сведения об этом объекте.
А вообще сабж - это просто число. Получил его - и используй!


 
Zhekson   (2004-09-21 10:53) [12]

>Плохиш ©   (21.09.04 10:40) [10]

извини, встреваю, но никто же не заставляет отвечать + пацан попросил ссылки на литературу.

А те, кто вымучивает песню про нежелание нового поколения читать литературу, вместо того, что бы дать ответ, по длине в n раз меньше, просто завидуют, что в их время такой возможности не было.


 
Amoeba ©   (2004-09-21 10:56) [13]

Масса литературы в эл. виде здесь:
http://www.podgoretsky.com/lang.html


 
Плохиш ©   (2004-09-21 10:59) [14]


> Zhekson   (21.09.04 10:53) [12]

Уговорил :-) Читайте, изучайте:

http://search.yahoo.com/search?p=handle&ei=UTF-8&fr=FP-tab-web-t-145&cop=mss&tab=


 
Zhekson   (2004-09-21 11:01) [15]

>TUser

Z> А жаль ведь здесь большинство знает, что такое Handle, с
Z> пелёнок.

T> То есть, здесь большинство родилось году эдак в 1990-1991. T> До того, хэндлов, вроде бы не было (хотя я не уверен про   T> полуось).

Прекрасно понимаешь(те), что  Handle здесь вообще ни при чём.


 
sniknik ©   (2004-09-21 11:07) [16]

pasha_golub ©   (21.09.04 10:28) [9]
> ...
> Фи, товарищи.

> здесь большинство знает что такое Handle, с пелёнок.
незнание не порок.
но почему именно "боротся"? так бы и говорил "не знаю что это такое, и где найти инфу" и все, максимум бы в поисковик послали. (заодно и им научился бы пользоватся)


 
Skyle ©   (2004-09-21 11:20) [17]

Унутре Handle - некий указатель на запись в таблице объектов, уникальной для каждого процесса. Алгоритм определения конкретной записи по Handle"у в данном случае значения не имеет и подозреваю, что он разный в 9x, NT и w2k+.

На первых порах достаточно знать только то, что Handle - это идентификатор объекта исполнительной системы, по которому конкретный процесс к нему может обращаться. Handle имеет смысл только для конкретного процесса. Чтобы передать объект другому процессу, нужно его там продублировать (продублировать запись в таблице другого процесса). На это есть соответствующая функция API(DuplicateHandle).

Handle - понятие пользовательского режима. Win32 API не является объектным в общем смысле этого слова и оперирует псевдоуказателями (Handle) на объекты исполнительной системы (состоящии из одного или нескольких объектов ядра).

Поскольку Handle не является прямым указателем на объект, можно контролировать время жизни объекта. Система учитывает количество Handle"ов, указывающих на каждый из созданных объектов и не даёт объекту умереть раньше времени. Как только система обнаружит, что на объект никто не ссылается (нет открытых описателей (Handle)), то объект будет уничтожен.

Также учитываются ссылки режима ядра, но это к текущему вопросу отношения не имеет.


 
KSergey ©   (2004-09-21 11:40) [18]

> [17] Skyle ©   (21.09.04 11:20)
> Унутре Handle - некий указатель на запись в таблице объектов,

Указатель или смещение?? Что-то про указатель сомниловка меня разбирает.


 
Skyle ©   (2004-09-21 11:53) [19]


> [18] KSergey ©   (21.09.04 11:40)

Там что-то типа биты 31 - 30 - номер таблицы, потом сколько-то ещё битов - номер подтаблицы, остальные - "номер записи" в подтаблице...
Там таблиц несколько (3 вроде), построены иерархически.

Точно сейчас не скажу к сожалению, но если интересно, завтра могу сказать точнее.

P.S. Это всё про w2k+


 
TUser ©   (2004-09-21 11:57) [20]


> Указатель или смещение?? Что-то про указатель сомниловка
> меня разбирает.

Смещение в таблице, где хранятся указатели. По крайней мере для объектов GUI, если верить Юаню (а почему бы ему не верить).


 
pasha_golub ©   (2004-09-21 13:57) [21]

sniknik ©   (21.09.04 11:07) [16]
Да ну, слово "бороться" это оборот такой. Ничего зазорного не вижу. :-)


 
Суслик ©   (2004-09-21 14:02) [22]

Вот, хорошая книга для начинающих и не только

http://www.books.ru/shop/books/8283

закажи, через неделю привезут.
она также есть в сети.


 
akvilon ©   (2004-09-21 14:21) [23]

> TUser
а нет ли где-нибудь в сети электронного варианта книги Юаня?


 
TUser ©   (2004-09-21 14:23) [24]

Она же
http://www.podgoretsky.com/cgi-bin/dlcounter/npscnt?file=http://podgoretsky.com/ftp/Docs/Classics/Richter/richter4ru.zip &file_id=Richter4ru


 
Amoeba ©   (2004-09-21 14:38) [25]


> akvilon ©   (21.09.04 14:21) [23]

Тебе уже 2 раза дали ссылку на сайт А.Подгорецкого. Трудно было заглянуть?


 
akvilon ©   (2004-09-21 14:45) [26]

>Amoeba
ну уж простите :)


 
akvilon ©   (2004-09-21 14:53) [27]

>Amoeba
а где же там Юань???


 
Anatoly Podgoretsky ©   (2004-09-21 15:02) [28]

Это Хендле Кох, бороть - отвечмть Jah, Jah, что означает как же


 
TUser ©   (2004-09-21 15:48) [29]


> а где же там Юань???

Нет там Юаня. Там есть Рихтер.
А Юань тебе не нужен. Я об нем упомянул потому что сам читаю, а кроме того, там проведено "хакерское расследование" смысла, который MS вклывадывет в Handle (применитедльно к объектам GUI и некоторым другим). Но для практического использования этой цифры Юань совершенно не нужен.


 
Fedia   (2004-09-22 00:59) [30]

Для VAmpiro$ и тех кому "трудновато" приходится на форумах:
http://www.pdateam.ru/index.php?showtopic=62
Читать пункт >12. - Как не надо вести себя на форуме!
А парень вопрос задал конечно не без косяков, но вполне четко.

pasha_golub ©   (21.09.04 10:28) [9]
поддерживаю.


 
akvilon ©   (2004-09-22 13:13) [31]

>TUser
ну вот и я бы почитал :) а рихтер -- это уже давненько в арсенале. да и практическое использование Handle для меня уже не вызывает проблем


 
VAmpiro$   (2004-09-23 01:02) [32]

Сорь что задержался с ответом...
Вобшем на:

===================================================================

to "KSergey"
спасибо.

===================================================================

to "sniknik"

>и чего это так, все хотят именно "бороться" а не изучать?
>VAmpiro$
>уверен в правильности выбора проффесии?

Можно сказать это еще не профессия, а хобби или просто любимое занятие,
а насчет бороться... енто так, для связки слов :)


(21.09.04 11:07) [16]
> но почему именно "бороться"? так бы и говорил "не знаю что это такое, и где найти инфу"
> и все, максимум бы в поисковик послали. (заодно и им научился бы пользоватся)

1. в поисковик лезть...А для чего тогда форум сделан?
2. Где написано что я поисковиком пользоваться не умею.

===================================================================

to "Gero"
>Развод
в смысле ??

===================================================================

to "Zhekson"
(21.09.04 09:47) [8]
>а вообще зря ты светанул свой возраст и незнание ответа на какой-либо вопрос,
>теперь история про твою гениальность не прокатит.
>А жаль ведь здесь большинство знает что такое Handle, с пелёнок.

1.Учится никогда не поздно!
2. О какой истории с гениальностью идет речь??
3. ...удачи со стиркой пелёнок.

(21.09.04 10:53) [12]
извини, встреваю, но никто же не заставляет отвечать + пацан попросил ссылки на литературу.

А те, кто вымучивает песню про нежелание нового поколения читать литературу, вместо
того, что бы дать ответ, по длине в n раз меньше, просто завидуют, что в их время такой
возможности не было.

Жаль я не смог прочитать что писал Плохиш в (21.09.04 10:40) [10]  (Удалено модератором)

(21.09.04 11:01) [15]
:( ???

===================================================================

to "pasha_golub"
даже нечего сказать....

===================================================================

to "TUser"
Спасибо за разееснение... и за некую историческую справку :)

===================================================================

to "Amoeba"
Огромная благодарность!


===================================================================

to "Плохиш"
За (21.09.04 10:59) [14] Спасиб.

===================================================================

to "Skyle"
Для начало сложновато для понимания... но усеодно :) спасиб.

(21.09.04 11:53) [19] - мдя...

===================================================================

to "KSergey"

> Указатель или смещение?? Что-то про указатель сомниловка меня разбирает.


Как говорят у нас в Украине, "розбере та перестане" :)

===================================================================

to "Суслик"
Спасибо. постараюсь.

===================================================================

to "Anatoly Podgoretsky"
зачем попусту засорять топик ненужным бредом?

===================================================================

to "Fedia"
ОК.

===================================================================

никого не забыл??

Ещё раз ВСЕМ спасибо!


 
sniknik ©   (2004-09-23 08:24) [33]

> 1. в поисковик лезть...А для чего тогда форум сделан?
чегото мне подсказывает (возможно прочитанные правила форума), что не для замены поисковика...

pasha_golub ©   (21.09.04 10:28) [9] //и сочуствуюшие.
> ...
> Фи, товарищи.
ну так как теперь? кто прав? мало того борется не с тем чем надо так еще и вас использует для поиска(спутал с яндексом) того что сам легко бы нашол.
> 2. Где написано что я поисковиком пользоваться не умею.
у парня явное смещение понятий...


 
Skyle ©   (2004-09-23 08:26) [34]

[32] VAmpiro$   (23.09.04 01:02)
> to "Skyle"
> Для начало сложновато для понимания... но усеодно :) спасиб.
>
> (21.09.04 11:53) [19] - мдя...


А вот эти 3 буквы можно расшифровать?
А то на заборы насмотришься, после этого все слова из 3х букв подозрительными кажутся... Особенно с многоточием...;-)


 
KSergey ©   (2004-09-23 08:50) [35]

> [34] Skyle ©   (23.09.04 08:26)
> А то на заборы насмотришься, после этого все слова из 3х
> букв подозрительными кажутся... Особенно с многоточием...;-)

А) нефиг на заборы глазеть
Б) мнительность лечить надо ;)

Это так, без наездов, не принимай близко к сердцу ;)


 
VAmpiro$   (2004-09-23 12:36) [36]

to sniknik (23.09.04 08:24) [33]
если нечиго толкового сказать, тогда вообще молчи!

Только топим лишним мусором паганиш!



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.049 c
14-1095470112
Думкин
2004-09-18 05:15
2004.10.10
С днем рождения! 18 сентября


1-1095153667
009
2004-09-14 13:21
2004.10.10
Генератор случайных чисел


1-1095758544
kand
2004-09-21 13:22
2004.10.10
Как "выдернуть" из DataTimePicker или MonthCalendar номер месяца?


8-1090306981
SNV-Soft
2004-07-20 11:03
2004.10.10
Создаем визуальный редактор объетов


4-1094820071
pavel_guzhanov
2004-09-10 16:41
2004.10.10
Раскладка клавиатуры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский