dll执行完后出错
peasy 2004-09-14 09:30:50 我写了一个返回字符串的涵数,放到DLL中!
我是这样调用的:
procedure TForm1.Button1Click(Sender: TObject);
Var MyProc: TMyproc;
MyHandle:THandle;
begin
MyHandle:=LoadLibrary ('dpubdll.dll') ;
If MyHandle<=0 then
Raise Exception.Create('动态链接库调用失败,错误代码是:'+Inttostr(Getlasterror))
else
@MyProc:=GetProcAddress(MyHandle,'SetPSW');
if not Assigned(MyProc) then
Raise Exception.Create('GetProcAddress调用失败,错误代码是:'+inttostr(getlasterror))
else
ShowMessage(MyProc('123456'));
Freelibrary(Myhandle); // 卸载DLL
end;
在关闭弹出的窗口后就出错了,去掉Freelibrary(Myhandle); 这句也出错!错误信息如下:
project tdll.exe raised exception class eaccessviolation with 'access violation at address 004003e82 in module 'tdll.exe'.read of address 01180ba4'. process stop .use step or run to continue