2

我在公司的项目中使用了delphi。我正在使用 infopower 的控件,并且我有一个DBedit,其中设置了图片蒙版。如果插入错误的类型值,在退出控件时,我想捕获异常以更改异常消息。我的问题是我无法理解图片掩码验证何时发生。我尝试将Try/Except块放在OnExit事件上,但它没有被缓存,而是使用默认消息触发。

我在控件的原始代码中看到异常出现在私有的CMExit过程中,我无法覆盖它或了解哪个事件触发它。

我在问如何在我的代码中捕获该消息。

4

2 回答 2

1

您可以在表单中添加一个插入器类并在消息 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;
于 2013-10-14T13:35:25.853 回答
0
try
  // Code

except
  on E : Exception do begin
    if E.Message = 'Type here the originally exception text' then begin
      // Code
    end;
于 2013-10-14T12:26:15.227 回答