Einzelnen Beitrag anzeigen

Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: OnFinish --> FreeAndNil --> Exception

  Alt 16. Okt 2018, 12:33
Hallo,

also prinzipiell läßt sich das über mehrere Ansätze lösen.

1. Ansatz - dem Objekt sagen es soll sich später freigeben
--> Das Objeckt soll sich abarbeiten und den selber Freigeben. Aber nur wenn man es dazu auffordert (DoTerminate := TRUE

2. Ansatz - entkoppplung "der Botschaft" vom Objekt-Kontext
a) PostMessage mit WM_MEINE_MESSAGE an z.B. Form
Delphi-Quellcode:
const WM_MEINE_MESSAGE = WM_USER +1;
//...
TForm2.
procedure WMMeineMessage(var Message: TMessage);message WM_MEINE_MESSAGE;
//...
b) Anonymer Thread
Delphi-Quellcode:
procedure ExecuteInAnonymThread(AThreadProc: TProc; ADoSyncronized: Boolean; ADelay: Int64);
begin
  TThread.CreateAnonymousThread(
    procedure
    begin
      Sleep(ADelay);
      if ADoSyncronized then
      begin
        TThread.Synchronize(nil,
          procedure
          begin
            AThreadProc;
          end);
      end else begin
        AThreadProc;
      end;
    end).Start;
end;
Vielleicht bringt dich das ja weiter

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat