Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: OpenDialog Problem

  Alt 22. Nov 2012, 20:25
Delphi-Quellcode:
...
TThread.Synchronize(nil, procedure
  begin
    try
      if frm_Start.OpenDialog.Execute then
        frm_Start.UniDump.RestoreFromFile(frm_Start.OpenDialog.Filename);
    except
      on E: Exception do
        ShowMessage(E.Message);
    end;
  end;
...



...
TThread.Synchronize(nil, procedure
  begin
    doit := if frm_Start.OpenDialog.Execute;
    filename := frm_Start.OpenDialog.Filename;
  end;
if doit then
  try
    RestoreFromFile(filename);
  except
    on E: Exception do
      TThread.Synchronize(nil, procedure
        begin
          ShowException(E, nil);
        end;
  end;
...

bzw. wenn der Code in einem TThread-Execute steht, dann direkt
Delphi-Quellcode:
Synchronize(procedure
  begin

  end;
Sowas sollte man nur für kurze Funktionen nutzen, aber dafür kann man, bei diesen anonymen Methoden, auch lokale Variablen übergeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat