Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TTreeNode um eine weitere Variable erweitern (https://www.delphipraxis.net/50166-ttreenode-um-eine-weitere-variable-erweitern.html)

Waldteufel 22. Jul 2005 10:55

Re: TTreeNode um eine weitere Wariable erweitern
 
Hi.

Zitat:

Zitat von Nogge
Diese Variable habe ich bereits in Benutzung (Hätte ich vllt schon vorher sagen sollen^^)

Da TTreeNode.Data ein Pointer ist, würde ich empfehlen, dort einfach einen Pointer auf einen Record abzulegen.

Nogge 22. Jul 2005 11:03

Re: TTreeNode um eine weitere Variable erweitern
 
Genial !! Das ist natürlich die perfekte Lösung. Viele Dank, Waldteufel.

barf00s 22. Jul 2005 11:19

Re: TTreeNode um eine weitere Variable erweitern
 
"Diese Variable habe ich bereits in Benutzung (Hätte ich vllt schon vorher sagen sollen^^)"

hatten wir das nich gestern schon, sachma? :gruebel:

sakura 22. Jul 2005 11:35

Re: TTreeNode um eine weitere Variable erweitern
 
Zitat:

Zitat von Nogge
Genial !! Das ist natürlich die perfekte Lösung. Viele Dank, Waldteufel.

Vergiss aber nicht die Pointer wieder freizugeben, wenn die Node gelöscht wird, ansonsten hast Du einen echten Speicherfressen. Das Event müsste OnDeletion oder ähnlich heißen ;)

...:cat:...

Nogge 22. Jul 2005 11:48

Re: TTreeNode um eine weitere Variable erweitern
 
mmh, ich glaube, ich habe denn einen echten Speicherfresser^^ Wie gebe ich den Pointer Node.Data wieder frei?

barf00s 22. Jul 2005 11:59

Re: TTreeNode um eine weitere Variable erweitern
 
in der regel referenziert man mit Data nur irgendwas anderes ...

also reicht ein Data := nil; IN DER REGEL - was also auch bei dir der fall sein wird

Nogge 22. Jul 2005 12:06

Re: TTreeNode um eine weitere Variable erweitern
 
Ich benötige kein zusätzliches
Delphi-Quellcode:
Dispose(Node.Data)
?

barf00s 22. Jul 2005 12:08

Re: TTreeNode um eine weitere Variable erweitern
 
kommt drauf an WIE du .Data verwendest...

wenn dus nur mit

xNode.Data := xObj;

benützt, dann free'e das xObj und nil'e .Data

...

sakura 22. Jul 2005 12:12

Re: TTreeNode um eine weitere Variable erweitern
 
Zitat:

Zitat von Nogge
Ich benötige kein zusätzliches
Delphi-Quellcode:
Dispose(Node.Data)
?

Hast Du noch an anderer Stelle eine Referenz auf die Daten? Dann eher nicht, wenn Node.Data aber die einzige ist, dann musst Du es im OnDeletion Event auch wieder freigeben :zwinker:

...:cat:...

Nogge 22. Jul 2005 12:13

Re: TTreeNode um eine weitere Variable erweitern
 
Ich benutze Node.Data so:
Delphi-Quellcode:
type
  TGroupData = record
    GroupID     : Word;
    ShouldExpand : Boolean;
  end;
  PGroupData = ^TGroupData;

{...}

New(GroupData);
try
  GroupData.GroupID:=GroupID;
  GroupData.ShouldExpand:=StrToBool(Copy(s,Index+1,Length(s)-Index));
  GroupNode.Data:=GroupData;
finally
  Dispose(GroupData);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 Uhr.
Seite 2 von 4     12 34      

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