Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизНадо загрузить функцию из 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c