Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   FreePascal Pascal Record der Pointer vom Record benutzt (https://www.delphipraxis.net/164297-pascal-record-der-pointer-vom-record-benutzt.html)

roboter202 7. Nov 2011 10:43

Pascal Record der Pointer vom Record benutzt
 
Hi,

Delphi-Quellcode:
type TNode = record
           Fx: integer;
           Fy: integer;
           Fz: integer;
           FFather: ^TNode;
           FConnectd: array of ^TNode;
     end;
Da gibt es einen Fehler wegen dem Pointer von dem Record. Ich glaub ich muss da was mit forward machen. Komm aber grad nicht drauf!

pixfreak 7. Nov 2011 10:45

AW: Pascal Record der Pointer vom Record benutzt
 
Hallo Christian,

Du solltest erst einen Typ von Deinem Pointer auf den Record erstellen.
FConnectd deklarierst Du dann ebenfalls von diesem Typen.

VG Pixfreak

mkinzler 7. Nov 2011 10:47

AW: Pascal Record der Pointer vom Record benutzt
 
Einfach eine forward Deklaration eines Pointertyps.

Delphi-Quellcode:
type
    PNode = ^TNode;
    TNode = record
           Fx: integer;
           Fy: integer;
           Fz: integer;
           FFather: PNode;
           FConnectd: array of PNode;
     end;

roboter202 7. Nov 2011 10:52

AW: Pascal Record der Pointer vom Record benutzt
 
Ok danke!
Manchmal sieht man vor lauter Bäumen den Wald nicht!:oops:

himitsu 7. Nov 2011 11:00

AW: Pascal Record der Pointer vom Record benutzt
 
Jupp, abgesehn von der einen Ausnahme, der Forward-Pointer-Deklaration, greift quasi alles erstmal auf den TNode-Type zu
und da TNode zu diesem Zeitpunkt noch nicht vollständig deklariert ist, kann dieses auch nicht benutzt werden.

PS: Bei Klassen/Objekten ist was was anderes, da dort der Klassen-Type selber eine Art Zeiger-Typ ist und dort die Größe des Zeigers (der späteren Objektvariable) praktisch schon feststeht.

mkinzler 7. Nov 2011 11:15

AW: Pascal Record der Pointer vom Record benutzt
 
Zitat:

PS: Bei Klassen/Objekten ist was was anderes, da dort der Klassen-Type selber eine Art Zeiger-Typ ist und dort die Größe des Zeigers (der späteren Objektvariable) praktisch schon feststeht.
Diese nennt man Referenzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 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