Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
23. Mär 2018
In Bezug auf Create+Free und Ähnliches gibt es eine Ausnahme.
X := nil; // aber auch hier ist die Initialisierung vor dem TRY
try
...
X := TIrgendwas.Create;
...
finally
X.Free; // intern => if Assigned(X) then X.Free;
end;
PS: Gerade bei diesem Create+Free würde meistens der Compiler eine Warnung werfen, vonwegen "X" sei nicht inisialisiert, wenn in dem FINALLY drauf...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
23. Mär 2018
BeginUpdate;
try
..
finally
EndUpdate;
end;
Denn wenn es im BEGIN knallt, dann darf/sollte END nicht aufgerufen werden.
> entweder nur falsch zählen oder, wie bei auch bei Create+Free, gibt es da nichts zum Runterzählen/Freigeben und es knallt womöglich gleich nochmal, was dann die ursprüngliche Fehlermeldung und Fehlerposition zerstört.