Главная страница
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.047 c
4-1085384190
mutabor
2004-05-24 11:36
2004.07.04
завершение работы windows


1-1087467548
ИМХО
2004-06-17 14:19
2004.07.04
Чем отличаются?


1-1087373280
Игорь
2004-06-16 12:08
2004.07.04
Огромные проблемы с Огромными файлами


1-1087725582
R
2004-06-20 13:59
2004.07.04
AnsiPos но не чувствительная к регистру символа


14-1087282600
WondeRu
2004-06-15 10:56
2004.07.04
Хочу телефон, но денег мало