Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.043 c
14-1087460470
SergP
2004-06-17 12:21
2004.07.04
Фон рабочего стола...


4-1085253914
Gero
2004-05-22 23:25
2004.07.04
ExtractIconEx под не-XP


1-1086696312
IXT
2004-06-08 16:05
2004.07.04
XPStyle


1-1087852688
Ivanov
2004-06-22 01:18
2004.07.04
Полупрозрачная закраска


1-1087881907
Дарья
2004-06-22 09:25
2004.07.04
Помогите пожалуйста !