Вниз
Скачать: CL | DM;

Как передать процедуре из 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
14-1084969501
nikkie
2004-05-19 16:25
2004.07.04
Fritz8 - Мастера Дельфи


1-1087382557
Cuper
2004-06-16 14:42
2004.07.04
Вопрос по Borland Pascal 7 (работа с записями)


3-1086610429
Valeri
2004-06-07 16:13
2004.07.04
DBRichEdit


3-1086860530
menja_zovut_deniska
2004-06-10 13:42
2004.07.04
Работа с OracleNavigator


9-1078922162
Delpher_Gray
2004-03-10 15:36
2004.07.04
Выдирание ресурсов из игры Князь




   Наверх