Guten Abend,
Delphi-Quellcode:
procedure THeaderFooterForm.FormActivate(Sender: TObject);
var server : TServer;
begin
//server := nil;
if not assigned(server) then
server := TServer.Create('127.0.0.1',25222,true);
server.StopTCPServer;
FreeAndNil(server);
end;
Ich verwende hier eine lokale Variable für den TServer.
Wenn ich am Anfang "server := nil;" nicht schreibe ist assigned true und das Create Event wird übersprungen.
Somit erhalte ich eine
exception sobald ich auf die Variable zugreife.
Kann mir jemand erklären warum assigned = true ist bei einer lokalen Variable die wie hier zu sehen sonst gar nicht verwendet wird ?
Ich kann mir nur vorstellen das per Zufall an dieser Adresse gerade ein Objekt "ist/vorher war" und daher assigned true zurück gibt, ist dies korrekt ?
Lokale Variablen werden ja nie initialisiert somit haben diese einen undefinierten Wert.
Somit wäre es zwingend notwenig in diesem Fall die Variable zu initialisieren.
Gruss Int3g3r