Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизКак передать процедуре из DLL процедуру в качетсве параметра. Найти похожие ветки
← →
ПсихЪ (2004-06-16 11:22) [0]Мастера, подскажите...
Есть DDL"ка, написанная на С++, в DLL"е имеется VOID"овая функция PluginDescription, параметром которой является процедура (или скорее указатель на процедуру). В этой функции эта процедура запускается с определёнными параметрами. Процедура в параметре имеет свой какой-то тип. Я знаю все его структуру (unsign long, char*, long).
Создаю в Delphi процедуру с такой же структурой параметров, но как её передать? Пытался делать тип:
type
PTYPE_NAME = ^TYPE_NAME;
TYPE_NAME = procedure ( p1 : cardinal, p2 : string, p3: int );
Но как тогда присвоить переменной этого типа созданную мной процедуру. При попытке это сделать обычным способом и способом с преобразованием типа выдаётся ошибка:
ProcVar : PTYPE_NAME;
присваиваем
ProcVar := PFNREGMETHOD(@fpfnRegMethod);
или
ProcVar := @fpfnRegMethod;
ошибка
Variable required
Как быть? Я, похоже, понамудрил там лишнего, но до истины так и не добрался...
← →
clickmaker © (2004-06-16 11:26) [1]TYPE_NAME = procedure ( p1 : cardinal, p2 : PChar, p3: integer );
← →
ПсихЪ (2004-06-16 11:38) [2]
> clickmaker
Не помогает, пробовал... ): Пробавал даже просто
array of char
Тоже не так...
← →
Digitman © (2004-06-16 12:13) [3]type
TMyProc = procedure (p1: cardinal, p2: PChar, p3: integer); stdcall; //соглашение о вызове нужно уточнять
..
procedure MyProc(p1: cardinal, p2: PChar, p3: integer); stdcall;
begin
..
end;
..
ProcVar : TMyProc;
..
ProcVar := @MyProc;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c