Форум: "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.041 c