Hi All,
I wrote a TPainter abstract class, and a TPaintRect class. ?In the TPaintRect class I have this code:
procedure TPaintRect.OnMouseEnter(Sender: TObject);
var
? i: Integer;
? p: TPainter;
begin
? for i := 0 to painters.Count - 1 do begin
? ? p := TPainter(painters.Objects[i]);
? ? try
? ? ? p.OnMouseEnter(Sender);
? ? except on EAbstractError do ; end;
? end;
? if Assigned(FOnMouseEnter) then FOnMouseEnter(Sender);
end;While running in IDE, the program will crash because OnMouseEnter is abstract.
My problems are:
1) As I already wrapped it with try-except, I hope it won't trigger IDE exception. But even I turn off "Notify on Lazarus Exception" in debugger options it still pops up, and the popup said RunError(211), NOT EAbstractError. ?The program runs well outside of IDE.
2) Is there a way to detect if an abstract method is implemented or not, without trying to call it and try...except?
Thanks,
Shannon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20130124/91a44110/attachment.html>
