Форум: "Основная";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
ВнизCallBack Найти похожие ветки
← →
y-soft (2001-12-14 21:34) [15]>Eugene Zelikovsky ©
Можно и не использовать в качестве функций обратного вызова метод,а передавать в качестве параметров отдельно ссылку на вызывающий объект и адрес линейной функции-переходника. Еще лучше использовать для работы с Dll соглашение stdcall (добьемся лучшей совместимости с другими средствами разработки). Например, так (только общий подход):
type
TMyCallback = procedure(Reference : pointer);stdcall;//Callback-процедура-переходник
Экспортируемая процедура:
procedure SomeProc(Reference : pointer; MyCbk : TMyCallback); stdcall;
Вызывать ее так:
procedure TMyObject.CallSomeProc;
begin
SomeProc(Self, @MyCallback);
end;
procedure TMyObject.SomeMethod;
begin
//Какие-нибудь действия
end;
Обработчик процедуры обратного вызова:
procedure MyCallback(Reference : pointer); stdcall;
begin
TMyObject(Reference).SomeMethod;
end;
Может такой вариант больше понравится :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c