Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
12. Mär 2015
Nja, oberhalb kommen bei mir immer die Variablen, welche auch innen benutzt werden
und darunter die Variablen für die Hauptprozedur.
Aber wenn es dich beruhigt ... die Prozeduren sind seit gestern Abend eigenständige Methoden und die (vielen) Variablen ein Record als Var-Parameter.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
12. Mär 2015
Darum auch ein "Problem", daß Delphi da nicht warnt.
function Test: string;
begin
// Strings sind ja bekanntlich mit '' initialisiert, was im Prinzip auch stimmt. Ungünstig ist nur, daß Delphi hier
// eigentlich procedure Test(var Result: string); implementiert, also in Bezug auf die fehlende "nicht initialisiert"-Warnung.
Result := Result + '*';
end;
var
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
11. Mär 2015
Zum Glück gab es grade diesen Thread ... so war ich noch bissl aufmerksamer.
Hatte dadurch noch einen weiteren Fall entdeckt.
procedure Test;
var
Value: Integer;
procedure Inner;
begin
if Value = 0 then
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
11. Mär 2015
Variablen und Results mit gemanageten Typen (Interface, Variant, dyn Array und String) werden sowieso nie so gewarnt, denn diese sind immer initialisiert.
Wäre aber zu praktisch, wenn der Compiler die automatische Initialisierung manchmal nicht mitzählen würde, denn speziell beim Result haben diese Typen ein klitzekleines Problem, wenn man die Funktion in 'ner Schleife aufruft.
Und im NextGen...