Главная страница
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.028 c
1-1087815304
Max111
2004-06-21 14:55
2004.07.04
Работа с "чужой" формой


1-1087909761
Magician
2004-06-22 17:09
2004.07.04
Как записать в одну яч. StringGrid несколько строк


1-1087314371
tower
2004-06-15 19:46
2004.07.04
использовать модули скомпиленные в c++ builder


3-1086853160
Dream
2004-06-10 11:39
2004.07.04
добавление записей в Access (ADO)


3-1086582750
Прямой
2004-06-07 08:32
2004.07.04
Отваливается загрузка данных