Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variables Array in Record --- Speicherfreigabe (https://www.delphipraxis.net/124729-variables-array-record-speicherfreigabe.html)

bra_parametrix 24. Nov 2008 11:52


Variables Array in Record --- Speicherfreigabe
 
Hallo,

Ich habe den Record der an einen Treeview-Node angepasst, so dass er mehrere Captions anstatt einer (Caption0) haben kann.

Delphi-Quellcode:
  PTreeViewNodeData = ^TTreeViewNodeData;
  TTreeViewNodeData = record
    Key: string;
    IconCollapsed: integer;
    IconExpanded: integer;
//    Caption0: string;
    Captions: array of string;
    ShowNode: TTreeViewShowNode;
    IsRootNode: boolean;
  end;

Mit SetLength weise ich Captions dann eine Anzahl zu.

Meine Frage ist nun ob ich mit SetLength(xxx,0) den Speicher explizit wieder freigeben muss. Oder passiert das automatisch, beim Freigeben des Treeviews?

Gruss und Dank

Stefan

mkinzler 24. Nov 2008 11:56

Re: Variables Array in Record --- Speicherfreigabe
 
Du musst das manuell machen.

DeddyH 24. Nov 2008 12:07

Re: Variables Array in Record --- Speicherfreigabe
 
Da wäre eine Klasse statt eines Records doch die bessere Alternative, da könnte man dann schön im Destruktor aufräumen.

SirThornberry 24. Nov 2008 12:12

Re: Variables Array in Record --- Speicherfreigabe
 
Der Speicher muss eigentilch nicht explizit frei gegeben werden sofern du den Speicher des Records mit der richtigen Funktion freigibst. Es hängt also von der Funktion ab mit welcher du den Speicher anforderst und freigibst ob der Speicher des Arrays mit frei gegeben wird. Aber wie meine Vorredner schon meinten, einfach Objecte nehmen.


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