Forum: Object-Pascal / Delphi-Language
by MaBuSE,
30. Apr 2012
Nicht direkt,
das Problem des Fragestellers ist ja, dass eine Variable, die nicht initialisiert wurde, nicht mit 0 (nil) initialisiert war.
Wenn er in der Create diese Variablen mit nil initialisiert funktioniert es.
Das hat er ja selbst geschrieben.
Wobei es sich bei seine Variablen um Objektinstanzdaten (Felder) handelt, die eigentlich mit 0 initialisiert werden sollten.
Sie es aber aus...
Forum: Object-Pascal / Delphi-Language
by MaBuSE,
30. Apr 2012
Ja, aber ein Satz weiter steht doch, dass ein Programm KEINE Hinweise & Warnungen enthalten soll.
Damit ist doch klar, das Doppelt-Initialisierungen damit nicht gemeint sind.
Wenn es dokumentiert ist, das der Compiler das so macht, ist das OK.
Wenn Du Dir nicht sicher bist, das der Compiler das so macht, initialisierte selbst.
Ein ich habe es ausprobiert und der Compiler hat es so...
Forum: Object-Pascal / Delphi-Language
by MaBuSE,
30. Apr 2012
Ich finde es schade, dass Du meine Aussagen nicht in den Kontext meiner Aussagen weiter oben in diesem Thread setzt.
(Das finde ich verwirrend :?)
Ich schrieb weiter oben:
Ich sagte es macht Sinn alle Variablen zu initialisieren, ich sagte nicht, man solle sie mehrfach initialisieren !!!
var
i: Integer;
Forum: Object-Pascal / Delphi-Language
by MaBuSE,
27. Apr 2012
Ich würde es genau so machen.
Das meinte ich eigentlich mit "Trau nicht dem Compiler".
In dem Fall, dass Du Dir nicht sicher bist, ob die Variablen "richtig" initialisiert werden, solltest Du sie einfach selbst initialisieren.
Dann bist Du auf der sicheren Seite.
Ich empfinde es auch als "Dokumentation" gut, wenn Variablen initialisert werden, und man sich nicht darauf verlässt, das es der...
Forum: Object-Pascal / Delphi-Language
by MaBuSE,
26. Apr 2012
Ich habs gerade gefunden:Lokale Variablen können nicht in ihren Deklarationen initialisiert werden. Aufeinander folgende Variablendeklarationen (z. B. var X, Y, Z: Real;) dürfen weder Initialisierungen enthalten noch Deklarationen von Varianten und Dateitypen.
Wenn Sie eine globale Variable nicht explizit initialisieren, wird sie vom Compiler mit 0 initialisiert. Objektinstanzdaten (Felder)...
Forum: Object-Pascal / Delphi-Language
by MaBuSE,
26. Apr 2012
Wenn es dokumentiert ist, ist das was anderes.
Meines Wissens ist es nur für Strings doumentiert.
Undokumentiere Dinge, die man "nur" durch ausprobieren weiss, können sich ja jederzeit bei einem Versionswechsel ändern.
Wo steht das denn in der Doku?
Forum: Object-Pascal / Delphi-Language
by MaBuSE,
25. Apr 2012
Ich war schneller :tongue:
Forum: Object-Pascal / Delphi-Language
by MaBuSE,
25. Apr 2012
Grundsätzlich sollte ein Programmierer nie dem Compiler vertrauen und alle Variablen initialisieren.
Der Compiler gibt auch Warnungen beim Compilieren aus.
-> http://www.delphi-treff.de/tutorials/programmierkonzepte/fehlermeldungen/warnungen-langsam-wirds-wichtig/
Versuche grundsätzlich Deine Anwendung so zu schreiben, dass keine Warnungen und Hinweise auftreten.
Ausnahme: Warnungen die...