1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- { %KNOWNRUNERROR=2 v1.0 does not support class DefaultHandler message }
- {$ifdef fpc}
- {$mode delphi}
- {$endif}
- type
- tClassA=class
- procedure DefaultHandler(var Message);override;
- end;
- tClassB=class(tClassA)
- procedure test(var m);message 1;
- end;
- tClassC=class(tClassB)
- procedure test00(var m);message 1;
- end;
- var
- counter : longint;
- procedure tClassA.DefaultHandler(var Message);
- begin
- writeln('DDDDDDDDDD');
- inc(counter);
- end;
- procedure tClassB.test(var m);
- begin
- writeln('BBBBBBBBBB');
- inc(counter);
- inherited;
- end;
- procedure tClassC.test00(var m);
- begin
- writeln('CCCCCCCCCC');
- inc(counter);
- inherited;
- end;
- var
- C:tObject;
- One:longint;
- begin
- One:=1;
- C:=tClassC.Create;
- C.Dispatch(One);
- C.Destroy;
- if counter<>3 then
- begin
- writeln('Error in class DefaultHandler for messages!');
- {$ifdef VER1_0}
- halt(2);
- {$else not VER1_0}
- halt(1);
- {$endif not VER1_0}
- end;
- end.
|