Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#1

Thread.Queue in verschachtelten Threads [unter Android]

  Alt 30. Mär 2016, 12:34
Hallo zusammen,

ich habe mal eine Frage zu Treads.

Ich bekomme beim Aufruf eines Konstrukts wie unten beschrieben unter Android ein Segmentation Fault.

Wenn eine Prozedur im Thread oder auch von einem tiefer verschachtelten Thread aufgerufen wird,
und dann mit Thread.Queue zum MainThread synchronisiert wird dann sollte das doch in JEDEM Fall korrekt funktionieren.
Deadlocks o.ä. gibt es dabei doch nicht, oder etwa doch ?

Kann es sein das dieses Bitmap im Thread auch einen anderen Kontext bekommt als im MainThread, und
das es deshalb vielleicht kracht ?
Jedenfalls kommt das Segmantation Fault wenn ich aus der Routine irgend etwas im UI Thread anfasse.

Delphi-Quellcode:
procedure TDiesIstEinTread.EvImThreadContext_KannAberAuchTieferVerschachteltSein(Image: TBitmap);
begin
  if Assigned(procResult) then
  begin
    TThread.Queue(nil,
                  procedure
                  begin
                    procResult( Image ); // Dies sollte doch immer im MainThread ausgefuehrt werden,
                                          // Egal wie tief verschachtelt ?
                  end
                 );
  end;
end;
Rollo
  Mit Zitat antworten Zitat