![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MakeObjectInstance и FreeObjectInstance [Delphi, Windows]
Vit@l © (2002-09-21 12:42:00)Мастера, объясните, что это за функции!!! А то перевожу один компонентик под KOL, а тут эта фигня. В хелпе ничего нет. Объясните что это за звери и как их к KOL"у приручить...
А компонентик прекрасный...
Vladimir Kladov (2002-09-21 17:09:00) [1]У Шахайло в objects.zip есть реализация этих зверей для KOL. И если он... говорит правду, то даже без бага, имеющего место в VCL, из-за которого происходит утечка 4К с каждым вызовом формы из DLL.
Vit@l (2002-09-21 14:20:00) [2]Кстати поискал в Королевстве - там в принципе много об этом:
Есть отличная функция -- MAKEOBJECTINSTANCE. Ей передаёшь метод КОНКРЕТНОГО
объекта. Она возвращает ук-ль, который можно передавать в качестве callback-функции.
Ограничение в параметрах: предназначена вся эта замутка для обработки сообщений и,
следовательно, винды должны требовать функцию вида
UINT Proc(HWND Window; UINT Msg; WPARAM wParam; LPARAM lParam); //сишный синтаксис
Метод должен иметь тип TWndMethod:
type TWndMethod = procedure(var Message: TMessage) of object;
В общем я так понял, что это функция, которая позволяет установить обработку сообщений для другого окна. Правильно? А теперь помогите, как тоже самое в KOL воплотить?
Vit@l (2002-09-21 14:11:00) [3]Это в Classes.(D6)
function MakeObjectInstance(Method: TWndMethod): Pointer;
procedure FreeObjectInstance(ObjectInstance: Pointer);
Gandalf (2002-09-21 12:58:00) [4]А где такие взял, uses не укажешь? Или компонентик сам.