Schau dir mal die Eigenschaft 'MyObject.ClassName' an...
Und warum nicht MyObject.ClassType oder gleich
IS
?
Und ja, man kann dennoch auf eigenschaften zugreifen.
Mit
IS
prüfen und wenn man den Typ weiß, dann direkt oder via
AS
casten.
Delphi-Quellcode:
if obj is TEdit then
TEdit(obj).Text := ...;
if obj is TEdit then
(obj as TEdit).Text := ...;
Man kann auch auf Vorfahren prüfen/casten
Delphi-Quellcode:
if obj is TWinControl then // reagiert auf TEdit, TMemo, TLabel uvm.
TWinControl(obj).Left := ...;