Код:
type
TA = class
end;
TB = class(TA)
end;
TC = class(TA)
end;
var
a: TA;
b: TB;
c: TC;
begin
a:=TA.Create;
b:=TB.Create;
c:=TC.Create;
if a is TA then Memo1.Lines.Add('a is TA');
if b is TA then Memo1.Lines.Add('b is TA');
if c is TA then Memo1.Lines.Add('c is TA');
if a is TB then Memo1.Lines.Add('a is TB');
if b is TB then Memo1.Lines.Add('b is TB');
// if c is TB then Memo1.Lines.Add('c is TB');
if a is TC then Memo1.Lines.Add('a is TC');
// if b is TC then Memo1.Lines.Add('b is TC');
if c is TC then Memo1.Lines.Add('c is TC');
c.Free;
b.Free;
a.Free;
end;
// потому что: Incompatible types: '<element>' and '<element>'
или:
Код:
var
a: TObject;
b: TObject;
c: TObject;
begin
a:=TA.Create;
b:=TB.Create;
c:=TC.Create;
if a is TA then Memo1.Lines.Add('a is TA');
if b is TA then Memo1.Lines.Add('b is TA');
if c is TA then Memo1.Lines.Add('c is TA');
if a is TB then Memo1.Lines.Add('a is TB');
if b is TB then Memo1.Lines.Add('b is TB');
if c is TB then Memo1.Lines.Add('c is TB');
if a is TC then Memo1.Lines.Add('a is TC');
if b is TC then Memo1.Lines.Add('b is TC');
if c is TC then Memo1.Lines.Add('c is TC');
c.Free;
b.Free;
a.Free;
end;
Цитата:
a is TA
b is TA
c is TA
b is TB
c is TC
|
