Forum: Object-Pascal / Delphi-Language
by Stevie,
30. Apr 2012
Erstaunlich, dass es nach mindestens einem halben Duzend wiederholtem Erwähnen immernoch Unklarheit gibt. :gruebel:
@Topic: Wenn es beim TE tatsächlich so sein sollte, dass ein Instanzfeld wider Erwarten und dokumentiertem Verhalten nicht nil sein sollte, wäre es mal interessant, den Source zu sehen, oder ein reproduzierbares Beispiel.
Forum: Object-Pascal / Delphi-Language
by Stevie,
30. Apr 2012
Es ging um das "ich schreib es lieber hin, weil ich nicht darauf vertraue, dass der Speicher initialisiert ist".
Forum: Object-Pascal / Delphi-Language
by Stevie,
29. Apr 2012
Wir reden hier eigentlich nicht von künstlerischer Freiheit.
In allen objektorientierten Sprachen, mit denen ich bisher gearbeite habe (eventuell ist es aber auch zu lang her, zuletzt nur mit Delphi und C#, also korrigier mich, wenn ich falsch liege) war es so, dass Felder von Objekten immer den Default Wert hatten und man nicht Explizit auf false, Leerstring, nil/null oder 0 setzen musste....
Forum: Object-Pascal / Delphi-Language
by Stevie,
29. Apr 2012
Dem muss ich widersprechen.
Für mich persönlich ist es sehr viel verwirrender, wenn ich sowas im Sourcecode sehe. Dann frag ich mich, ob hier entweder ein ahnungsloser am Werke war, oder ob es irgendein Problem gab, weswegen das gemacht wurde.
Genauso initialisier ich eine Variable nur dann, wenn deren Wert irgendwo benutzt wird, bevor ihr ein Ergebnis einer Operation zugewiesen wird....
Forum: Object-Pascal / Delphi-Language
by Stevie,
26. Apr 2012
Gegenfrage: Wenn ich ne Integer Variable auf 5 setze, steht dann hinterher 5 drin? :)
Antwort: ja
Forum: Object-Pascal / Delphi-Language
by Stevie,
26. Apr 2012
Ich würde auch empfehlen, wenn schon, dann korrekten Source zu posten, und keinen erdachten, der eh nicht funktioniert, so wie dieser hier.
function balance(knoten : TKnoten) : integer;
begin
result:=hoehe(links)-hoehe(rechts);
end;
Sonst können wir nur unsere :glaskugel: befragen, und da ist grad die Batterie leer ;)
Forum: Object-Pascal / Delphi-Language
by Stevie,
25. Apr 2012
Ich frag mich gerade, ob du selber deinen Bytecode schreibst, wenn du das nicht tust. Dass Felder initialisiert werden, ist dokumentiertes Verhalten. Ordinalwerte sind 0, Boolean ist False, Zeiger sind nil, Strings sind leer.