Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Надо загрузить функцию из DLL написанной на C...   Найти похожие ветки 

 
Tom   (2004-06-22 10:58) [0]

Помогите пожалуйста!!!
Надо загрузить следуюшую функцию из DLL написанной на C:

Итак имеется такое обьявление :
void  EXPTYPE FSL_SetUI(void *fnAbortRetry, void *fnError, void *fnWarning);

И приводится пример вызова в C:
INT16 WINAPI MyAbortRetry(BYTE *strTitle, BYTE *strMessage)
   {
     int iRet = MessageBox(NULL, strMessage, strTitle, MB_RETRYCANCEL | MB_ICONERROR);
     if(iRet == IDRETRY) return(1);
     return(0);
   }

   void WINAPI MyMessageError(BYTE *strTitle, BYTE *strMessage)
   {
     MessageBox(NULL, strMessage, strTitle, MB_OK | MB_ICONERROR);
   }
 
   void WINAPI MyMessageWarning(BYTE *strTitle, BYTE *strMessage)
   {
     MessageBox(NULL, strMessage, strTitle, MB_OK | MB_ICONWARNING);
   }

вызов :
     FSL_SetUI(MyAbortRetry, MyMessageError, MyMessageWarning);

Теперь надо ее позвать из Delphi,Делаю следующее:

type
 ProcedureType = Procedure(str1 : string; str2 : string);

 ProcedurePointer = ^ProcedureType;

 procedure MyAbortRetry(str1:string ;  str2:string);
 procedure MyMessageError(str1:string ;  str2:string);
 procedure  MyMessageWarning(str1:string ;  str2:string);

 procedure  FSL_SetUI (fnAbortRetry:ProcedurePointer ; fnError : ProcedurePointer; fnWarning:ProcedurePointer); stdcall;  external "rapidsign.dll" name "FSL_SetUI";

И вызов :

FSL_SetUI(@MyAbortRetry,@MyMessageError,@MyMessageWarning);

Видимо допускаю грубую ошибку потому 4то выдает
"Access Voilation".


 
clickmaker ©   (2004-06-22 11:02) [1]

procedure MyAbortRetry(str1: PChar ;  str2: PChar);


 
Digitman ©   (2004-06-22 11:04) [2]

type
ProcedureType = Procedure(str1, str2 : PChar); stdcall;

procedure MyAbortRetry(str1, str2 : PChar); stdcall;
procedure MyMessageError(str1, str2 : PChar); stdcall;
procedure  MyMessageWarning(str1, str2 : PChar); stdcall;

procedure  FSL_SetUI (fnAbortRetry:Pointer ; fnError : Pointer; fnWarning:pointer); stdcall;  external "rapidsign.dll" name "FSL_SetUI";


 
Tom   (2004-06-22 11:09) [3]

Спасибо Люди!!!
>>Digitman
  Ввек вас незабуду!!! Всегда мне помогаете!!! :)



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
10-1016108444
paul_shmakov
2002-03-17 05:38
2004.07.04
2 интерфейса


3-1086611490
Smalik
2004-06-07 16:31
2004.07.04
Не сохраняется измененный набор данных


4-1085392789
Silver
2004-05-24 13:59
2004.07.04
Проблема с GetRegionData


8-1082311404
Женя
2004-04-18 22:03
2004.07.04
Не могу работать с Canvas.Какая-то ошибка не пойму в чем дело


14-1086960215
able
2004-06-11 17:23
2004.07.04
LOL