![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Процедурные типы. [D5, Win95/98]
chistyakov © (2004-06-30 11:49:00)Есть функция
int CALLBACK dllFunction(HWND hwnd, void (CALLBACK *Fn))
void (CALLBACK *Fn) эта функция в формате Delphi имеет вид : procedure PrResult(const rtd : RetData) stdcall;
Где RetData - некоторая структура.
Надо описать прототип dll-ской функции, вопрос - как это сделать. Я это сделал следующим образом, но похоже неправильно. Пишет Invalid variant type conversion
TSetHeaderFooter = function (Handle:HWND; Fn:TFPResults) : integer;
TFPResults = procedure(const rtd:TRetData);stdcall;
PVOzerski (2004-06-30 13:06:00) [1]>TSetHeaderFooter = function (Handle:HWND; Fn:TFPResults) : integer;
Здесь тоже Stdcall не забудь. А варианты - это ошибка где-то в другом месте. Кстати проверь, не перекочевало ли в Паскальный код у тебя где-нибудь NULL в смысле nil или 0.