[Lazarus] Check if an abstract method is implemented or not
xrfang at gmail.com
Thu Jan 24 09:11:09 CET 2013
I wrote a TPainter abstract class, and a TPaintRect class. In the TPaintRect class I have this code:
procedure TPaintRect.OnMouseEnter(Sender: TObject);
for i := 0 to painters.Count - 1 do begin
p := TPainter(painters.Objects[i]);
except on EAbstractError do ; end;
if Assigned(FOnMouseEnter) then FOnMouseEnter(Sender);
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?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Lazarus