![]() |
ios kein Multitasking...
Hallo!
Nachdem die SyncObj unter iOS noch nicht implementiert sind... Also ein Timer... Aber... Beispiel:
Delphi-Quellcode:
Was Passiert?
procedure TForm2.Timer1Timer(Sender: TObject);
begin Timer1.Enabled := false; Memo1.Lines.add('Hier bin ich'); end; procedure TForm2.Button2Click(Sender: TObject); var i : Integer; begin Timer1.Enabled := true; // eine Sekunde... for i:=0 to 1000 do begin Spinbox1.Value := i; Application.ProcessMessages; Sleep(100); end; end; Die Spinbox zählt genüßlich bis 1000 und dann kommt der Timercall! Funktioniert unter IOS eigentlich irgend etwas so wie man es erwartet? Mavarik |
AW: ios kein Multitasking...
Zitat:
Bei der Suche wegen meinem TAniIndicator-Problem bin ich auf folgenden beitrag gestoßen: ![]() Dort wird gesagt, dass Application.Processmessages unter MacOS nichts auswirkt. Wahrscheinlich unter iOS auch nicht. |
AW: ios kein Multitasking...
Das hat mit Multitasking vermutlich wenig zu tun. iOS nutzt halt einfach kein Messaging-System wie Windows. Ich bin mir nichtmals sicher - mangels Erfahrung - ob unter Macs ein Timer (von "ProcessMessages" mal ganz abgesehen) in dieser Form überhaupt abbildbar wäre. Wieder ein Grund, warum ich "one source, all platforms" wenn nicht für naiv, zumindest für in der Praxis an sehr viele Bedingungen geknüpft halte. Es wäre sicherlich ein schöner Traum, der in Grenzen auch mit vielen Kosten teilweise machbar ist, aber am Ende ist nativ entwickelt einfach so, wie es gedacht war.
Ausser, man hat eine Mediationsschicht, die minuziös "nativisiert" wo nötig. Das wird universell aber kaum gehen, zumindest gibt es Nischenlösungen für einzelne Zwecke. Unitiy für Spiele o.Ä. Lasset die Unkenrufe kommen, aber am Ende sind unterschiedliche System einfach... naja, unterschiedliche Systeme. |
AW: ios kein Multitasking...
Tja..
Wann wann nutzen wir einen Timer? Genau... Wenn wir nicht extra einen Thread programmieren wollen und uns das Synchronize sparen wollen... Die Einschränkung, dass der Timerevent "nur" kommt, wenn die VCL 0 Task zeit hat.. Fein... Aber unter IOS & FM3 funktiniert das eben nicht... Threads aber auch nicht, da unter ios die Semapforen und Events nicht funktionieren... Und jetzt? Mavarik |
AW: ios kein Multitasking...
Zitat:
|
AW: ios kein Multitasking...
Zitat:
|
AW: ios kein Multitasking...
Zitat:
Mavarik |
AW: ios kein Multitasking...
Da muss ich dir widersprechen. Bei meinem Live-Ticker lade ich alle 30 Sekunden XML-Dateien in einem Thread herunter. Du darfst den Thread nur nicht gestoppt kreieren.
Die App im Simulator zu testen hab ich schon lang aufgegeben, denn wenn es dort funktioniert heißt es noch lange nicht, dass es auch auf dem Device funktioniert ^^ |
AW: ios kein Multitasking...
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir gehen Threads auch auf dem iPhone.
Im Anhang ein Beispiel |
AW: ios kein Multitasking...
OK Nochmal...
Zu diesem Thema gibt es hier 2 Threads ;-) Hier geht darum, dass ein Timer nicht aufgerufen wird, wenn die App nicht in die FMX 0-Task-Schleife kommt... Also Zeit hat... Application.Processmessages hilft hier auch nicht... Der andere Thread ist ![]() In diesem Thread geht es darum, das TEvents nicht unterstützt werden... Und somit keine Synchronisation zwischen Threads möglich ist... @Thomasl Du Verwendest ja auch keine Signale... Logisch das einfache Threads funktionieren... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz