Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

AW: Hilfestellung Speichern/Laden von Werten in anderen Datein

  Alt 15. Nov 2011, 14:45
Warum? Weil es in den meisten Lehrbüchern zu Delphi so vermittelt wird? Was kann passieren, wenn das Create fehlschlägt? -> Nichts.
Die Variable wäre nicht initialisiert und dann knallt es womöglich höchstwahrscheinlich im Free des Finally.

Wenn man die Variable vor dem Try auf Nil setzt, bzw. sie automatisch gesetzt wurde, was bei einer loklen Variable aber nicht der Fall ist,
dann kann man das Create auch innerhalb des Try-Blocks machen.


Wenn man unbedingt auf das Begin-End verzichten will, welches nötig wäre, wenn .Create vor dem Try liegen würde,
dann wäre Folgendes eine (oftmals verfluchte) Möglichkeit. (wegen dem böse With)
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  if SaveDialog.Execute then
    with TStringList.Create do
      try
        Add(Edit1.Text);
        SaveToFile(SaveDialog.FileName);
      finally
        Free;
      end;
end;
$2B or not $2B

Geändert von himitsu (15. Nov 2011 um 14:49 Uhr)
  Mit Zitat antworten Zitat