Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: EMB DCE 12 - class und record zusammen, um Operatoren gemeinsam zu nutzen ?

  Alt 4. Okt 2024, 18:59
Delphi-Quellcode:
type
  TMyClass = class
  private
    FRefCount: Integer;
  public
    ...
    procedure Test;
  end;

  TRecordForMyClass = record
  private
    FClass: TMyClass;
  public
    // Speicherverwaltung des Records
    class operator Initialize(out Dest: TRecordForMyClass);
    class operator Finalize(var Dest: TRecordForMyClass);
    class operator Assign(var Dest: TRecordForMyClass; const [ref] Src: TRecordForMyClass);
    // Zuweisungen und Casts (implizit oder explizit) zwischen Record und Klasse oder andersrum
    class operator Implicit(a: TMyClass): TRecordForMyClass;
    class operator Implicit(a: TRecordForMyClass): TMyClass;
    ...
    // Property&Methoden hier nochmal deklarieren und durchreichen, damit zum Aufruf die Klasse nicht erst rausgeholt werden muß.
    procedure Test;
  end;
In diesen Record lässt sich die Klasse reingeben und dort Operatoren nutzen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat