Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

MakeObjectInstance   Найти похожие ветки 

 
Тимохов ©   (2004-04-15 11:15) [0]

Разбирался тут с методом TApplication.CreateHandle.
Наткнулся на FObjectInstance := Classes.MakeObjectInstance(WndProc);
....
SetWindowLong(FHandle, GWL_WNDPROC, Longint(FObjectInstance));

Вопрос по MakeObjectInstance.

Наскольо я понимаю метод MakeObjectInstance из classes используется для того, чтобы создать оконную процедуру, удовлетворяюшую типу WindowProc и вызывающую переданную процедуру (в данном случае TApplication.WndProc)?

Правильно?


 
oleg_art   (2004-04-15 11:51) [1]

MakeObjectInstance - выделяется память под процедуру
SetWindowLong(FHandle, GWL_WNDPROC, Longint(FObjectInstance)) -
устанавл-ся новая оконная процедура для окна, имеющего Handle FHandle.

Желательно сохранить старую процедуру, иначе придется обрабатывать все Messages.


 
Владислав ©   (2004-04-15 12:40) [2]

Смысл ее вот в чем. TApplication.WndProc - это метод, а оконная процедура в Windows - это функция. Остально, я думаю, Вам понятно. В метод нужно передавать указатель на экземпляр класса.


 
Тимохов ©   (2004-04-15 13:13) [3]

Значит я все правльно понимаю - спасибо всем.



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
1-1082095332
Well
2004-04-16 10:02
2004.05.02
Как извлечь имя файла?


4-1078390900
Michail Dalakov
2004-03-04 12:01
2004.05.02
Последовательность выполнения задач


1-1081848346
Блондинка
2004-04-13 13:25
2004.05.02
Как отловить минимизирование формы ?


1-1081929819
Курдль
2004-04-14 12:03
2004.05.02
Как корректно освободить память, занятую записями из TList?


1-1081838568
Bond
2004-04-13 10:42
2004.05.02
Напечатать конверт A5