Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi probleme mit class und record Declaration (https://www.delphipraxis.net/84186-probleme-mit-class-und-record-declaration.html)

sk.Silvia 12. Jan 2007 23:20


probleme mit class und record Declaration
 
i hab dieses Problem
Delphi-Quellcode:
 
TRestorePoint = record      
      Tree : TAA;
end;
 
TAA = class
      RestorePoint : TRestorePoint;
      ....
end;
(das ist nur ein einfacher Beispiel)

Es ist wie ein Kreis, ich kann nicht TAA before TRestorePoint schreiben aber auch nicht TRestorePoint before TAA
da war doch ein magisches Word fur solche Situationen, nur weiss ich nict welches:(

MrKnogge 12. Jan 2007 23:24

Re: probleme mit class und record Declaration
 
Du könntest lediglich ein Zeiger einfügen, dem du dann ein TRestorePoint zuweist, besser gesagt ihn drauf zeigen lässt.

Aber warum möchtest du eine Instanz einer Klasse in einem record haben ?

sk.Silvia 12. Jan 2007 23:34

Re: probleme mit class und record Declaration
 
" Du könntest lediglich ein Zeiger einfügen, dem du dann ein TRestorePoint zuweist, besser gesagt ihn drauf zeigen lässt."
Muss doch auch einen anderen Weg Geben

"Aber warum möchtest du eine Instanz einer Klasse in einem record haben ?"
dass code ist nur eine vereinfachung der ganzen situation, das was ich vorhabe ist mehr komplex,aber dazu muss ich das volgende Problem losen

Hawkeye219 12. Jan 2007 23:38

Re: probleme mit class und record Declaration
 
Hi Silvia,

so geht es:

Delphi-Quellcode:
type
  TAA = class; // forward declaration

// aber KEIN "type" hier!

  TRestorePoint = record
    Tree : TAA;
  end;

// aber KEIN "type" hier!

  TAA = class
    RestorePoint : TRestorePoint;
  end;
Alles muß in einem "type"-Abschnitt stehen, ok?

Gruß Hawkeye

pszopp 12. Jan 2007 23:38

Re: probleme mit class und record Declaration
 
Vielleicht klappt's so:
Delphi-Quellcode:
TAA = class; // Definiert TAA als 4 Byte Klassen-Zeiger.

TRestorePoint = record      
      Tree : TAA;
end;
 
TAA = class
      RestorePoint : TRestorePoint;
      ....
end;
Gruß, pszopp

sk.Silvia 12. Jan 2007 23:41

Re: probleme mit class und record Declaration
 
jooooooooooo, danke, das ist es :spin: :)) danke ihr zwei:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz