Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.983 Beiträge
 
Delphi 12 Athens
 
#5

AW: Nix mit plattformübergreifend...

  Alt 5. Jan 2025, 18:46
Hallo,

naja, mehrheitlich geht es schon plattformübergreifend, aber es gibt manchmal Dinge die auf einer
Plattform erlaubt sind bzw. gut funktionieren und auf einer anderen leider verboten sind oder nicht
gut klappen.

Zum Beispiel sind modale Dialoge (also solche die man zuerst bearbeiten muss bevor man weiter im
Programm was tun kann) unter Windows erlaubt und nicht unüblich, unter Android aber verboten.
Versucht man entsprechende Aufrufe in seiner App wird man dann eine Exception "ernten".

=> 1:1 ist nicht immer alles möglich, auch wenn schon recht viel geht.

Noch ein Tipp zu deiner App: versuche es erst mal mit einem TTimer hinzubekommen, das ist unkritischer
als Threads und leichter zu lernen. So leistungsfähig Threads sind, so einfach kann man sich mit denen
auch ins Knie schießen und sucht sich dann den Wolf nach sporadischen Fehler ab...

Application.ProcessMessages sollte man soweit irgend möglich auch vermeiden.
Das kann im ungünstigsten Fall auch zu einer Endlosschleife führen, weil es ggf. das Event in dem
man gerade drin ist erneut auslöst. Zumindestens unter Windows kann das vorkommen, da zum Zeitpunkt des
Auslösens des Events die Benachrichtigung dazu immer noch im Briefkasten ist. Keine Ahnung warum die das
so programmier haben, ist aber so.

Falls du dich mit Threads beschäftigen möchtest: suche nach TThread und sorge tunlichst dafür dass alle
GUI Ausgaben aus dem Thread heraus (also alle die aus der Execute Methode stammen) mittens Synchronize
erfolgen. Sonst wird deine App sporadisch ab und zu abstürzen.
Grüße
TurboMagic
  Mit Zitat antworten Zitat