Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Процедурные типы. [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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо