AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi static array in einem dynamic array freigeben?
Thema durchsuchen
Ansicht
Themen-Optionen

static array in einem dynamic array freigeben?

Ein Thema von supermuckl · begonnen am 2. Jun 2006 · letzter Beitrag vom 2. Jun 2006
 
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#1

static array in einem dynamic array freigeben?

  Alt 2. Jun 2006, 15:02
Hi@All

Ich code gerade viel mit records und arrays rum
Ich baue eine serveranwendung, die performant sein sollte.

Jetzt bin ich dort angelangt, wo ich Array Items löschen muss.

Dies ist eine meiner Arraykombinationen:
Delphi-Quellcode:
type Tstatusinfo = array of array[0..8] of string;
type Tstatusinfoarr = array of Tstatusinfo;

var
statusinfos: Tstatusinfoarr;
Frage:

Wenn ich jetzt aus statusinfos ein item löschen will, benutze ich diese Funktion:

Delphi-Quellcode:
procedure DeleteStatusinfosItem(index:integer);
var
i,i2,c:integer;
temp: TStatusinfoarr;
begin
if index > length(Statusinfos) then exit;
c := 0;
    setlength(temp,length(Statusinfos)-1);
    for i := 0 to length(Statusinfos)-1 do begin
        if i <> index then begin
          temp[i] := Statusinfos[i];
        inc(c);
        end;
    end;
    setlength(Statusinfos,length(temp));
    for i := 0 to length(temp)-1 do begin
        Statusinfos[i] := temp[i];
    end;
end;
Muss ich jetzt das statische array auch noch irgendwie freigeben ? oder merkt der speichermanager selbst, das auf dieses array nichts mehr zeigt und das das dann automatisch freigegeben wird?

Frage2:

wenn ich statt dem statischen arrays ein packed reckord habe mit integern und strings mit längenangabe
ist das dann mit dem statischen array freigeben gleichzusetzen?

Frage3:
was ist wenn ich ein array of array of array[x..y] habe
und ein item im primären ersten array lösche
dann müsste ich ja setlength(unterarray,0) machen, damit das 2. array auf länge 0 gesetzt wird und somit auch vom speichermanager aufgeräumt wird?
und das statische wird auch automatisch aufgeräumt?

Bitte alle 3 Fragen wenn möglich beantworten, da ich auf keinen fall ein Speicherleck haben will nacher
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz