blob: 4286ba386eebdd77ed158c5ad8d522364073e88e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
{ %version=1.1 }
{$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.
|