Oprettet fre. d. 22. juni 2012 kl. 01:31:24

skovjuul
skovjuul (10.000 point. Point ude: 0)

Hvor meget skal jeg .free?

Jeg har et object af typen:
type TPicInfoClass = class
    filename: string;
    ext : string;
    caption : string;
    comment : string;
    filedataraw : TMemoryStream;
    end;

Og aå har jeg en list af disse objecter:
ListOfFiles: TList;

Efter at have lavet
tmpPicInfoClass := TPicInfoClass.Create;
tmpPicInfoClass.ext := '.zzz';
tmpPicInfoClass.filedataraw := CreateBlobStream(somefield);
(osv.)
så tilføjer jeg den til min liste:
ListOfFiles.Add(tmpPicInfoClass);

Mit spørgsmål er så, hvor meget er jeg nødt til at .free?

Er det nok bare med ListOfFiles.free eller skal jeg løbe listen i gennem og .free hvert enkelt object? Og skal jeg også særskilt .free TMemoryStream?

På forhånd tak for hjælpen.

Skrevet fre. d. 22. juni 2012 kl. 03:43:41| #1

arne_v
arne_v (1.048.623 point)
du skal selv free alle elementer i en TList

du skal ogaa selv free din TMemoryStream

Skrevet fre. d. 22. juni 2012 kl. 12:05:09| #2

martinlind
martinlind (62.779 point)
Det object skal override destroy og i den free'er du memorrstrem og andre classer du har i dit object.
Og hvis du bruger TList skal du selv ryde op, du kan også vælge en TOwnedList den fjerner selv sine objecter

Skrevet fre. d. 22. juni 2012 kl. 12:32:49| #3

skovjuul
skovjuul (10.000 point)
Ok, så nu har jeg tilføjet:
destructor TPicInfoClass.Destroy;
begin
  inherited;
  Filedataraw.Free;
end;

Og så løber jeg bare min liste igennem:
procedure TfrmVisFiler.DestroyFileList;
var
  i:integer;
begin
  for i := 0 to ListOfFiles.Count-1 do begin
    TPicInfoClass(ListOfFiles.Items[i]).Free;
  end;
  ListOfFiles.Free;
end;

Tak for hjælpen begge to. Smid et svar Arne.

God weekend.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Internet Explorer : tillad POPUPS'

Oprettet den 8. maj 2013 kl. 16.21
snestrup2000 giver 30 point for svar | Giv et svar »

Delphi 2007 og Firebird 2.5

Oprettet den 8. maj 2013 kl. 10.45
2Mida giver 100 point for svar | Giv et svar »

Form placering igen

Oprettet den 30. april 2013 kl. 12.38
hugopedersen giver 100 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Her er seks Google Labs-funktioner, som du skal slå til med det samme

Gmail Labs giver dig adgang til en masse smarte funktioner, som Googles ingeniører leger med i øjeblikket.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Tre smarte trick som gør Windows 8 bedre

Boot direkte til skrivebordet, få en strategisk godt placeret luk-knap og slip for at logge ind. Her er tre tips til Windows 8, som gør det nemmere at blive venner med styresystemet.


Nyheder fra Computerworld

Teaser billede

Galleri: Her er Googles nyeste værktøj og legetøj

Google har i denne uge afholdt udviklerkonferencen I/O i San Francisco. Se her hvad søgegiganten kunne præsentere af nyskabelser.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger