AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Threadkommunikation auf den mobilen Plattformen
Thema durchsuchen
Ansicht
Themen-Optionen

Threadkommunikation auf den mobilen Plattformen

Ein Thema von Peter666 · begonnen am 12. Jan 2014
Antwort Antwort
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#1

Threadkommunikation auf den mobilen Plattformen

  Alt 12. Jan 2014, 17:40
Hi,

ich nutze seit Jahren TThread und TThreadList für die Kommunikation zwischen mehreren Threads. Nun hab ich aber ein Problem mit dem Nextgen-Compiler.

Grob umschrieben schaut meine Execute Funktion so aus:

Delphi-Quellcode:
  
procedure TNetworkStreams.Execute;
begin
  while not Terminated do
  begin
    if (FDoUpdate.WaitFor(INFINITE) = TWaitResult.wrSignaled) then
    begin
      if Terminated then break;
      Update();
      Synchronize(
        procedure
        begin
          if assigned(FOnUpdate) then FOnUpdate(Self);
        end);
    end;
  end;
Die Update-Funktion wird nur im Execute aufgerufen, FDoUpdate ist ein TEvent das im Fall einer Aktualisierung bzw. im Destruktor aufgerufen wird. Unter Windows geht das wie gesagt prima, nur auf IOS wird der Synchronize (oder Queue) Aufruf meist gar nicht gestartet, oder aber erst beim Terminieren der Klasse. Ich kann das umgehen, indem ich ein weiteres TEvent nutze und im Mainthread checke ob das gesetzt ist via Waitfor(0), aber das ist in meinen Augen gefriemelt. Hat das jemand schon einmal gegengetestet? Wie gesagt das Aufrufen der Sync oder Queue Routine geht oft, aber nicht immer unter iOS (mit XE5) und ich erkenne keinen Grund wieso das so ist.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz