异常错误码是在delphi程序里调试的时候捕获,还是编译好时,在别的电脑上有错误,系统自动提示的代码?我的程序在缺少一个dll文件的电脑上运行时,会弹出一个错误提示框,说“错误,*****00058FA1",是个是错误码吗?我是否可以在程序中写
if error="00058FA1" then
******
这样处理呢?如果不是,应该怎么捕获错误码,并处理,是在delphi里面?
if error="00058FA1" then
******
这样处理呢?如果不是,应该怎么捕获错误码,并处理,是在delphi里面?
try
catch
end;
except
end;
本人同是用delphi和C++,经常搞错
except
on e:exception do
showmessage(e.message)
end;
比如我缺少一个123.dll会产生错误,应该怎么写?
except
on e:exception do
showmessage(e.message)
end;这样会报你要的错误
try
except
on e:exception do
showmessage(e.message)
end;
******************* (这一行应该怎么写能查出来C盘里有没有123.dll文件)
except
on e:exception do
showmessage(e.message)
end;
begin
try
Loadlibrary('c:\windows\system32\omom.dll');
except
on e:exception do
showmessage(e.message);
end;
end;我这样定了,不管目录下有没有这个dll都不报错,请问怎么回事??
showmessage('调用成功')
else
showmessage('调用失败')
下面给你一个动态载入DLL的方法
type
TGetNextMonth = function(const AMonth: string; Next: boolean): PChar; stdcall;
end
var
dllHandle: THandle;
dllGetNextMonth: TGetNextMonth;
const
GimiDLL = 'GimiDLL.dll';
resourcestring
sDllNotExists = '找不到动态链接库文件《%s》';
function GetNextMonth(AMonth: string; IsNext: boolean): PChar;
begin
dllHandle := LoadLibrary(PChar(DateDLL));
if dllHandle <= 0 then
raise exception.Create(Format(sDllNotExists, [DateDLL]));
@dllGetNextMonth := GetProcAddress(dllHandle, 'GetNextMonth');
Result := dllGetNextMonth(AMonth, IsNext);
end;
try
//execute code
except
on e:exception do
showmessage('错误类;'+e.class+'错误消息:'+e.message);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
try
Loadlibrary('c:\windows\system32\omom.dll');
except
on e:exception do
showmessage(e.message);
end;
end;
DLLHandle:Thandle;
func:TFunc;
begin
result:='';
DLLHandle:=LoadLibrary(pchar(ExtractFilepath(application.EXEName)+'DLL\PSD.DLL'));
try
if DLLHandle<>0 then
begin
func:=GetProcAddRess(DLLHandle,'CreateFm_Login');
if Func(S_Open,pchar(username),pchar(Password),application.Handle) then
//execute code;
end
else messagedlg('未发现DLL',mterror,[MBok],0);
finally
FreeLibrary(DLLHandle);
end;
end;
showmessage('调用成功')
else
showmessage('调用失败')