怎样将Delphi中的异常提示信息都变成中文(100分)

  • 主题发起人 主题发起人 lengtouxiaoer
  • 开始时间 开始时间
L

lengtouxiaoer

Unregistered / Unconfirmed
GUEST, unregistred user!
在try except 中怎样将Delphi中的异常提示信息都变成中文
 
安装中文版的D6就可以了。[^]
 
try
。。。。
except
Application.MessageBox('自己的错误提示', '系统提示', MB_OK)
end;

这样不行吗
 
好像这些信息都在一个.dcu 还是一个.pas 文件中,你修改成中文,以后出现提示就是中文的
 
to catfox
行是行,问题是我怎么判断这是哪种错误,怎么得到关于错误的详细信息呢
 
to withdraw
我要处理的是数据库(BDE)的异常,这些信息根本找不到
 
自己截获处理
 
我有汉化包你要吗?
告我你的E_MAIL
 
DBConsts.pas 中没有吗?
BDEconst.pas 中也没有?
 
to : nibul

我要,
ldaan@163.com
 
在 delphi 目录下找 *const*.pas 文件
 
俺也要一份,谢谢xyjian@eyou.com
 
好东西!我要!有版本限制吗?[:D]
 
激动得连email也没写!
vmao@163.com
 
出错信息但靠哪些系统内部的东西,即使有翻译的中文,对客户是没有什么指导意义的,还是要自己的表述来提醒用户是什么操作出错了

可以参考TApplicationEvent中的OnError事件,有个E: TException属性,可以通过E.Message来获取系统出错信息的文字
 
对,其实你得到的大多数是数据库抛出的异常,如用中文版的 Access 或 MS Sql Server 的话,出错提示将是中文的,如用英文的 Sysbase 等等出错提示将是英文。

出错时弹出错误提示中会提示异常的类,如除 0 错会提示异常类“EDivByZero”。将这个类名记下,然后写程序时这样写,就可以捕获此错误了。
try
i := i div 0;
except
on EZeroDivide do Something;
end;
 
自己在异常中判断
同意catfox的!
try
。。。。
except
Application.MessageBox('自己的错误提示', '系统提示', MB_OK)
end;
 
to catfox!行不行的啊!^_^
 
procedure TMainFrm.DoOnException(Sender: TObject; E: Exception);
var
sInf:string;
begin
sInf:='发生异常,异常信息:'+#13+E.Message;
if Trim(sInf)<>'' then Application.MessageBox(PChar(sInf), '系统提示',
MB_OK+ MB_ICONWARNING)
end;


然后在MainForm的Create中加入
Application.OnException:=DoOnException;
 
后退
顶部