dann nimm doch TObject oder definiere dir einen Basisvorfahren für deine Klassen,
dann muß nichts umgewandelt werden ... ein Objektreferenz ist und bleibt so NUR eine Objektreferenz
so oder so wirst du ja intern eh per IS, bzw. AS die genaue Klasse prüfe müssen
Delphi-Quellcode:
procedure Save(DataObj: TObject);
begin
if DataObj is TKategorie then begin
...
end else if DataObj is TArtikel then begin
...
Delphi-Quellcode:
type TBaseObject = class end;
TKategorie = class(TBaseObject)
...
end;
TArtikel = class(TBaseObject)
...
end;
procedure Save(DataObj: TBaseObject);
begin
if DataObj is TKategorie then begin
...
end else if DataObj is TArtikel then begin
...