Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
8-1082041971
Pa5ha
2004-04-15 19:12
2004.07.04
ColorKey&Direct3D


3-1086701484
АлекСандр
2004-06-08 17:31
2004.07.04
Ячейка DBGrida


1-1087744009
Lena_
2004-06-20 19:06
2004.07.04
Ini файлы


1-1087497524
lelik
2004-06-17 22:38
2004.07.04
свойства файла


3-1086868539
Yakudza
2004-06-10 15:55
2004.07.04
Вывод значения поля в DBMemo.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский