AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Typisierten bzw. Untypisierten Variablen

Ein Thema von Opa · begonnen am 4. Okt 2009 · letzter Beitrag vom 5. Okt 2009
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.754 Beiträge
 
Delphi 12 Athens
 
#2

Re: Typisierten bzw. Untypisierten Variablen

  Alt 4. Okt 2009, 01:41
New als Funktion?
Ich kenn das nur als Prozedur

Delphi-Quellcode:
procedure TDhDrive.ListRec_Add(Directory:string;SR:TSearchRec);
var;
  P : PDateiListRec;
begin
  //with SR do // ich wüßte jetzt nicht, wofür das nötig sein sollte? *grübel*
  //begin
    New(P);
    FillChar(P^, SizeOf(P^), 0);
    PDateiListRec(P)^.SRec := SR;
    FDateiRecList.Add(P);
  //end;
end;
Also nun zum Problem:
Dispose ruft die Prozedur Finalize auf und übergibt diesem den Record, bevor es selber den Speicher des Records mit FreeMem freigibt.

Finalize "löscht" alle initialisierungspflichtigen Typen von Delphi, also
> Strings (Ansi, Wide & Unicode), dynamische Arrays und Interfaces

Genauso wie New die Prozedur Initialize aufruft und diese Typen entsprechend initialisiert (quasi mit 0 füllt), nachdem es mit GetMem den Speicher des Records besorgt hat.
Wenn es dir also nicht wichtig ist, daß z.B. auch Integer und Objectvariablen unbedingt mit 0 initialisiert werden, da sie danach eh mit irgendwas gefüllt werden, dann könntest du dein FillChar auch weglassen.
Ein Therapeut entspricht 1024 Gigapeut.
  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 14:30 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-2025 by Thomas Breitkreuz