Browse Source

* DefaultHandler for messages

peter 22 years ago
parent
commit
91a55f259f
1 changed files with 54 additions and 0 deletions
  1. 54 0
      tests/test/tclass7.pp

+ 54 - 0
tests/test/tclass7.pp

@@ -0,0 +1,54 @@
+{$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!');
+    halt(1);
+  end;
+end.