Forum: Object-Pascal / Delphi-Language
by himitsu,
30. Apr 2012
Globale und Objekt-Felder
Lokale
Forum: Object-Pascal / Delphi-Language
by himitsu,
26. Apr 2012
Wurde z.B. in einem Record etwas eingetragen und du willst es dennoch "sicher" nullen, dann
var
R: record
..
end;
Finalize(R);
FillChar(R, SizeOf(R), 0);
Forum: Object-Pascal / Delphi-Language
by himitsu,
26. Apr 2012
Windows initialisiert Speicher mit 0, wenn man den bei ihm reserviert, somit sind die globalen Variablen auch initialisiert.
Und beim Erstellen von Objekten wird definitiv ein FillChar mit 0 über den Instanzspeicher gejagt.
Und ansonsten werden auch Strings (ausgenommen der ShortString), dynamische Arrays, Interfaces und Variants immer initialisiert.
Das gilt aber nur die Variablen...
Forum: Object-Pascal / Delphi-Language
by himitsu,
26. Apr 2012
Nja, war'n bissl langsamer beim Lesen. :oops:
Forum: Object-Pascal / Delphi-Language
by himitsu,
25. Apr 2012
Wobei der Compiler dafür eigentlich auch eine Warnung werfen sollte, so ala "Variable nicht initialisiert", aber das wurde glaub ich schon erwähnt. :angle2:
Genauso wird auch erwähnt, wenn man Variablen setzt und ihre Werte nirgends verwendet.
Globale Variablen und Felder in Objekten werden immer mit 0 initialisiert (also auch nil und Leerstrings '').
Aber bei lokalen Variablen werden nur...