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

Вниз

Как получить Handle   Найти похожие ветки 

 
b0bi   (2004-03-18 11:50) [0]

Добрый день, мастера.
Такая задачка встала.....
Я создал подкласс от TObject, как известно tobject не имеет свойства Handle. Объект же моего класса должен иметь Handle, что бы передавать его другим объектам (в частности DLL"ке). Не могу найти способа получить от системы Handle, мож кто знает? Подскажите плз.


 
b0bi   (2004-03-18 11:50) [0]

Добрый день, мастера.
Такая задачка встала.....
Я создал подкласс от TObject, как известно tobject не имеет свойства Handle. Объект же моего класса должен иметь Handle, что бы передавать его другим объектам (в частности DLL"ке). Не могу найти способа получить от системы Handle, мож кто знает? Подскажите плз.


 
Reindeer Moss Eater ©   (2004-03-18 11:54) [1]

property Handle : TypeNeeded read fhandle write fHandle;


 
Reindeer Moss Eater ©   (2004-03-18 11:54) [1]

property Handle : TypeNeeded read fhandle write fHandle;


 
Digitman ©   (2004-03-18 11:55) [2]

хэндл ЧЕГО, какого объекта ты подразумеваешь под св-вом Handle ?
некоего окна ? тогда проче всего было наследоваться от TWinControl


 
Digitman ©   (2004-03-18 11:55) [2]

хэндл ЧЕГО, какого объекта ты подразумеваешь под св-вом Handle ?
некоего окна ? тогда проче всего было наследоваться от TWinControl


 
Плохиш   (2004-03-18 11:55) [3]

Ну так и создай его от TWinControl

LMD


 
Плохиш   (2004-03-18 11:55) [3]

Ну так и создай его от TWinControl

LMD


 
Reindeer Moss Eater ©   (2004-03-18 11:58) [4]

AllocateHWND


 
Reindeer Moss Eater ©   (2004-03-18 11:58) [4]

AllocateHWND


 
b0bi   (2004-03-18 12:00) [5]

зачем мне наследовать от wincontrol, если с этим классом у меня нет ничего общего, кроме одного свойства handle: THandle;

>>Reindeer Moss Eater   fhandle нужно чем-то заполнить, что туда писать?


 
b0bi   (2004-03-18 12:00) [5]

зачем мне наследовать от wincontrol, если с этим классом у меня нет ничего общего, кроме одного свойства handle: THandle;

>>Reindeer Moss Eater   fhandle нужно чем-то заполнить, что туда писать?


 
Reindeer Moss Eater ©   (2004-03-18 12:02) [6]

Напиши туда имя своей кошки.
Я откуда знаю что это за хендел и как он должен использоваться.
Если это окно - то смотри пост № 4


 
Reindeer Moss Eater ©   (2004-03-18 12:02) [6]

Напиши туда имя своей кошки.
Я откуда знаю что это за хендел и как он должен использоваться.
Если это окно - то смотри пост № 4


 
b0bi   (2004-03-18 12:08) [7]

>>Reindeer Moss Eater
handle на объект класса type TRTerminal = class(TObject)
AllocateHWND не подходит т.к. возвращает handle на процедуру, а нужно на объект.
handle должен передаваться другим объектам (в частности DLL"ке).


 
b0bi   (2004-03-18 12:08) [7]

>>Reindeer Moss Eater
handle на объект класса type TRTerminal = class(TObject)
AllocateHWND не подходит т.к. возвращает handle на процедуру, а нужно на объект.
handle должен передаваться другим объектам (в частности DLL"ке).


 
Reindeer Moss Eater ©   (2004-03-18 12:14) [8]

Тогда имя кошки


 
Reindeer Moss Eater ©   (2004-03-18 12:14) [8]

Тогда имя кошки


 
Reindeer Moss Eater ©   (2004-03-18 12:35) [9]

AllocateHWND не возвращает никакого хендла на процедуру (тем более, что его у нее нет).
AllocateHWND возвращает хендл окна.


 
Reindeer Moss Eater ©   (2004-03-18 12:35) [9]

AllocateHWND не возвращает никакого хендла на процедуру (тем более, что его у нее нет).
AllocateHWND возвращает хендл окна.


 
Digitman ©   (2004-03-18 12:41) [10]


> handle на объект класса type TRTerminal = class(TObject)


тебе, может, просто указатель на объект некоего класса нужно хранить в этом св-ве, а не хэндл ? Хэндл - это просто некое значение кардинального типа, который можно интрерпретировать как угодно, в зависимости о чем речь идет


 
Digitman ©   (2004-03-18 12:41) [10]


> handle на объект класса type TRTerminal = class(TObject)


тебе, может, просто указатель на объект некоего класса нужно хранить в этом св-ве, а не хэндл ? Хэндл - это просто некое значение кардинального типа, который можно интрерпретировать как угодно, в зависимости о чем речь идет


 
Reindeer Moss Eater ©   (2004-03-18 12:46) [11]

handle должен передаваться другим объектам (в частности DLL"ке).

Наверняка эта DLL никакого понятия о классе TRTerminal не имеет.
Или что, из других языков её использовать немоги?
А значит и указатель на экземпляр ей не нужен.

Скорее всего она использует handle для отсылки сообщений, интерпретируя его как идентификатор окна.


 
Reindeer Moss Eater ©   (2004-03-18 12:46) [11]

handle должен передаваться другим объектам (в частности DLL"ке).

Наверняка эта DLL никакого понятия о классе TRTerminal не имеет.
Или что, из других языков её использовать немоги?
А значит и указатель на экземпляр ей не нужен.

Скорее всего она использует handle для отсылки сообщений, интерпретируя его как идентификатор окна.


 
b0bi   (2004-03-18 12:52) [12]

>> Reindeer Moss Eater так и есть
что, это получается мне нужен только указатель?


 
b0bi   (2004-03-18 12:52) [12]

>> Reindeer Moss Eater так и есть
что, это получается мне нужен только указатель?


 
Digitman ©   (2004-03-18 12:59) [13]


> b0bi


imho, ты сам еще не в состоянии наконец-то определиться, что же тебе нужно на самом деле


 
Digitman ©   (2004-03-18 12:59) [13]


> b0bi


imho, ты сам еще не в состоянии наконец-то определиться, что же тебе нужно на самом деле


 
Reindeer Moss Eater ©   (2004-03-18 13:00) [14]

Тебе нужно окно и оконная процедура обработки сообщений.

fHandle := AllocateHWND(WindowProc);
+
procedure TRTerminal.WindowProc(var Msg: TMessage);


 
Reindeer Moss Eater ©   (2004-03-18 13:00) [14]

Тебе нужно окно и оконная процедура обработки сообщений.

fHandle := AllocateHWND(WindowProc);
+
procedure TRTerminal.WindowProc(var Msg: TMessage);


 
b0bi   (2004-03-18 13:07) [15]

ок, попробую, благодарю за сотрудничество


 
b0bi   (2004-03-18 13:07) [15]

ок, попробую, благодарю за сотрудничество


 
Digitman ©   (2004-03-18 13:08) [16]


> Reindeer Moss Eater


он же (автор) говорит, что


> зачем мне наследовать от wincontrol, если с этим классом
> у меня нет ничего общего


а ты ему "общее" в виде созданного тем или иным образом окна впариваешь))

ну не хочет он окно иметь, упирается - и все).. ну что ж тут поделать !))


 
Digitman ©   (2004-03-18 13:08) [16]


> Reindeer Moss Eater


он же (автор) говорит, что


> зачем мне наследовать от wincontrol, если с этим классом
> у меня нет ничего общего


а ты ему "общее" в виде созданного тем или иным образом окна впариваешь))

ну не хочет он окно иметь, упирается - и все).. ну что ж тут поделать !))


 
Digitman ©   (2004-03-18 13:11) [17]


> в частности DLL"ке


а счего ты взял, что DLL"ка требует именно хэндл окна, а не, скажем, хэндл процесса ? или потока ? или дивайса ?
это вообще-то твоей разработки DLL"ка ? или сторонней ?


 
Digitman ©   (2004-03-18 13:11) [17]


> в частности DLL"ке


а счего ты взял, что DLL"ка требует именно хэндл окна, а не, скажем, хэндл процесса ? или потока ? или дивайса ?
это вообще-то твоей разработки DLL"ка ? или сторонней ?


 
Reindeer Moss Eater ©   (2004-03-18 13:13) [18]

Ну вот есть эстетическое ощущение у человека, что TObject c окном это меньше-тоньше-дешевле чем TWinControl - что с этим поделать?

:)

К тому же он не одинок. TRxTrayIcon например.
Правда там хоть от TComponent отнаследовались.


 
Reindeer Moss Eater ©   (2004-03-18 13:13) [18]

Ну вот есть эстетическое ощущение у человека, что TObject c окном это меньше-тоньше-дешевле чем TWinControl - что с этим поделать?

:)

К тому же он не одинок. TRxTrayIcon например.
Правда там хоть от TComponent отнаследовались.


 
Digitman ©   (2004-03-18 13:18) [19]


> Ну вот есть эстетическое ощущение у человека


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


 
Digitman ©   (2004-03-18 13:18) [19]


> Ну вот есть эстетическое ощущение у человека


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


 
GrayFace ©   (2004-03-18 15:14) [20]

> fHandle := AllocateHWND(WindowProc);
> +
> procedure TRTerminal.WindowProc(var Msg: TMessage);
А по-моему fhandle:=CreateWindow..
SetWindowLong(fhandle,GWL_wndproc,WindowProc);


 
GrayFace ©   (2004-03-18 15:14) [20]

> fHandle := AllocateHWND(WindowProc);
> +
> procedure TRTerminal.WindowProc(var Msg: TMessage);
А по-моему fhandle:=CreateWindow..
SetWindowLong(fhandle,GWL_wndproc,WindowProc);


 
Reindeer Moss Eater ©   (2004-03-18 15:18) [21]

GrayFace ©

Тебе удобнее иметь оконную процедуру - не метод класса?
Ничего не имею против.
А мне удобнее иметь оконную процедуру - метод класса.


 
Reindeer Moss Eater ©   (2004-03-18 15:18) [21]

GrayFace ©

Тебе удобнее иметь оконную процедуру - не метод класса?
Ничего не имею против.
А мне удобнее иметь оконную процедуру - метод класса.


 
Digitman ©   (2004-03-18 15:24) [22]

а наш "эстет" и по сию пору молчит) ... видать, репу чешет в тщетной попытке понять, о чем вообще речь идет)


 
Digitman ©   (2004-03-18 15:24) [22]

а наш "эстет" и по сию пору молчит) ... видать, репу чешет в тщетной попытке понять, о чем вообще речь идет)



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

Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.035 c
14-1082568275
Yanis
2004-04-21 21:24
2004.05.09
Глупо.


3-1081923686
Имя2
2004-04-14 10:21
2004.05.09
Фильтрация


7-1080470063
Raki
2004-03-28 14:34
2004.05.09
Объем памяти видеокарты.


1-1082712749
tria
2004-04-23 13:32
2004.05.09
Как переименовать секцию в ini-файле?


4-1079274429
Sergeika
2004-03-14 17:27
2004.05.09
Нужен низкоуровневый хук на клаву WH_KEYBOARD_LL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский