![]() |
Mehrere Class helper für eine Basisklasse
Hallo zusammen,
ich frage mich wie man mehrere class helper verwalten könnte. Als Beispiel: in UnitAbc.pas:
Delphi-Quellcode:
in UnitXyz.pas:
type
TBaseClassAbc_Helper = class helper for TBaseClass // Edit: class helper Procedure DoAbc; end;
Delphi-Quellcode:
type
TBaseClassXyz_Helper = class helper for TBaseClass // Edit: class helper Procedure DoXyz; end; und in der Anwendung;
Delphi-Quellcode:
Gäbe es irgendeine "offizielle" Methode dafür, oder geht soetwas gar nicht ?
uses
UnitBaseClass, UnitAbc, UnitXyz; procedure Use; var LBase : TBaseClass; begin LBase.DoAbc; // Das geht so wohl nicht, weil nur ein class helper aktiv ist LBase.DoXyz; TBaseClassAbc_Helper(LBase).DoAbc; // Oder könnte man das mit Namespaces iregendwie casten ? TBaseClassXyz_Helper(LBase).DoXyz; end; Rollo |
AW: Mehrere Class helper für eine Basisklasse
Das geht in Delphi leider nicht.
Ein
Delphi-Quellcode:
kann immerhin von einem anderen erben und seine Methoden übernehmen. Komischerweise kann ein
class helper for ...
Delphi-Quellcode:
aber nicht von einem Record-Helper erben.
record helper for ...
|
AW: Mehrere Class helper für eine Basisklasse
Hallo Günther,
dankesehr für den Tipp, das ist ja immerhin etwas. Also in der Art:
Delphi-Quellcode:
So sollte das also funktionieren, muss ich mal checken.
type
TBaseClassXyz_Helper = class helper for TBaseClassAbc_Helper Procedure DoXyz; end; Rollo |
AW: Mehrere Class helper für eine Basisklasse
Zitat:
Delphi-Quellcode:
type
TBaseClass = class ABC: Integer; XYZ: Integer; end; TBaseClassAbc_Helper = class helper for TBaseClass Procedure DoAbc; end; TBaseClassXyz_Helper = class helper(TBaseClassAbc_Helper) for TBaseClass Procedure DoXyz; end; |
AW: Mehrere Class helper für eine Basisklasse
Hallo Uwe,
vielen Dank, sieht komisch aus, ist aber so :stupid: Rollo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz