pascalabcnet/TestSuite/events5.pas
Бондарев Иван 8b4b333cd0 bug fix #1054
2018-08-19 14:14:16 +02:00

35 lines
609 B
ObjectPascal

var i: integer;
j: integer;
type
TRec = record
end;
TExample<T> = class
event f: Action<T>;
event f2: Action<List<T>>;
constructor Create();
begin
f += procedure (x) -> begin i := 1; end;
f2 += procedure (x) -> begin j := 1; end;
end;
procedure raiseevent;
begin
f(default(T));
f2(new List<T>);
end;
end;
begin
var o: TExample<integer>;
o := new TExample<integer>();
o.raiseevent;
assert(i = 1);
assert(j = 1);
i := 0;
j := 0;
var o2 := new TExample<TRec>;
o2.raiseevent;
assert(i = 1);
assert(j = 1);
end.