Ach ja und bei sowas:
Delphi-Quellcode:
var
Reg : TRegistry;
begin
Reg.Create; // Compilerfehler bitte hier!
try
Reg.RootKey:=HKEY_CLASSES_ROOT;
Reg.OpenKey('.htm', true);
Edit1.Text:=Reg.ReadString('');
finally
Reg.Free;
end;
end;
MUSS doch ein Compilerfehler kommen wie "Verwendung der nicht zugewiesenen lokalen Variablen 'Reg'" !?
Aber vermutlich bin ich auch nur von C# verwöhnt
Unabhängig davon wäre dennoch zumindest eine Warnung angebracht, wenn der Konstruktor einer nicht initialisiertern Variablen aufgerufen wird, wie Himi es eingangs glaube ich meinte. Es mag zwar einer statischen Methode ähneln, aber eine neu initialisierte ungültige Referenz bleibt eine ungültige Referenz.
Ich weiß gar nicht, was ihr habt, im Beispiel oben kommt:
W1036 Variable 'Reg' might not have been initialized