我在公司的项目中使用了delphi。我正在使用 infopower 的控件,并且我有一个DBedit,其中设置了图片蒙版。如果插入错误的类型值,在退出控件时,我想捕获异常以更改异常消息。我的问题是我无法理解图片掩码验证何时发生。我尝试将Try/Except块放在OnExit事件上,但它没有被缓存,而是使用默认消息触发。
我在控件的原始代码中看到异常出现在私有的CMExit过程中,我无法覆盖它或了解哪个事件触发它。
我在问如何在我的代码中捕获该消息。
您可以在表单中添加一个插入器类并在消息 CM_EXIT 中处理异常。
type
TwwDBEdit= class (wwdbedit.TwwDBEdit)
procedure CMExit(var Message: TCMExit); message CM_EXIT;
end;
TForm1 = class(TForm)
wwDBEdit1: TwwDBEdit;
//..... other declarations here
implementation
{$R *.dfm}
{ wwDBEdit1 }
procedure TwwDBEdit.CMExit(var Message: TCMExit);
begin
try
inherited; // call the inherited handler within try
except
Showmessage('Your Code'); // and handle it in except
end;
end;
try
// Code
except
on E : Exception do begin
if E.Message = 'Type here the originally exception text' then begin
// Code
end;