![]() |
Wait dialog oder sanduhr fuer Android/IOS
Hallo,
ich bin auf der Suche nach einer Sanduhr oder zumindest einen Wartedialog für Android/IOS Apps. Gibt es da irdend eine Library oder hat jemand einen Tipp für mich wie man das schnell programmieren kann? Gruß Thomas |
AW: Wait dialog oder sanduhr fuer Android/IOS
Das Ding heißt TAniIndicator und den musst Du in einem eigenen Thread laufen lassen.
|
AW: Wait dialog oder sanduhr fuer Android/IOS
Liste der Anhänge anzeigen (Anzahl: 2)
Ich öffnen eine neue Form, in der ein Sanduhr-Image liegt. Das hat auch den Vorteil, das die Tasten und Toolbars des darunter liegenden Fensters nicht aktiv sind.
Delphi-Quellcode:
...
gWait : TWaitForm ; ... // *** Start BeginWait ********************************************************* // ***************************************************************************** procedure BeginWait ; var iAppService : IFMXApplicationService ; begin { Fehler: Bereits vorhanden } if gWait <> nil then Exit ; { Zur Sicherheit mit try } try { Anlegen } gWait := TWaitForm.Create(Application) ; { Anzeigen } gWait.Visible := True ; gWait.BringToFront ; { Meldungen verarbeiten !!! Sonst wird das Fenster nicht angezeigt !!! } if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationService,iAppService) then iAppService.HandleMessage ; except end ; // try end ; // *** Ende BeginWait ********************************************************** // ***************************************************************************** // *** Start EndWait *********************************************************** // ***************************************************************************** procedure EndWait ; begin { Fehler: Nicht göffnet } if gWait = nil then Exit ; { Zur Sicherheit mit try } try { Löschen } gWait.DisposeOf ; except end ; // try { Zurücksetzen } gWait := nil ; end ; // *** Ende EndWait ************************************************************ // ***************************************************************************** |
AW: Wait dialog oder sanduhr fuer Android/IOS
Zitat:
Den ausführenden Code packt man in einen eigenen Thread |
AW: Wait dialog oder sanduhr fuer Android/IOS
Zitat:
Delphi-Quellcode:
AniIndicator1.Enabled := true;
Application.ProcessMessages; TThread.CreateAnonymousThread(procedure () begin try ergebnisse := frmWebservice.getPkx(id.ToInteger,geb,beginn,ablauf, port); finally TThread.Synchronize (TThread.CurrentThread, procedure () begin createProduktuebersicht(ergebnisse); AniIndicator1.Enabled := false; end); end; end).Start; |
AW: Wait dialog oder sanduhr fuer Android/IOS
Zitat:
Delphi-Quellcode:
Warum?
Application.ProcessMessages;
|
AW: Wait dialog oder sanduhr fuer Android/IOS
In dem Context von meinem Programm will ich sichergehen dass der GUI-Aufbau vorher aktualisiert wird bevor der Thread begonnen wird.
|
AW: Wait dialog oder sanduhr fuer Android/IOS
Application.ProcessMessages kann unter Android/iOS tödlich sein. Nicht verwenden, wenn nicht absolut notwendig (wir haben das auch leider noch an einer Stelle drin, wo es nicht anders ging).
|
AW: Wait dialog oder sanduhr fuer Android/IOS
Danke für die Antworten.
Das mit TAniIndicator im Thread funktioniert prima unter Android, nur mit meinem IPhone nicht. Gibt es beim Threading unter IOS was spezielles zu beachten? Gruß Thomas |
AW: Wait dialog oder sanduhr fuer Android/IOS
Bei mir läuft es unter ios. Ggf. ein Application.ProcessMessage rein :duck:
|
AW: Wait dialog oder sanduhr fuer Android/IOS
Zitat:
neeeeee Nja, aber wer weiß was der TE eigentlich macht und warum der Hauptthread ausgelastet zu sein scheint. |
AW: Wait dialog oder sanduhr fuer Android/IOS
ne, nach dem enanled := true.
|
AW: Wait dialog oder sanduhr fuer Android/IOS
Zitat:
Und
Delphi-Quellcode:
ist immer ein Hinweis auf ein generelles Design-Problem.
Application.ProcessMessages
|
AW: Wait dialog oder sanduhr fuer Android/IOS
Zitat:
|
AW: Wait dialog oder sanduhr fuer Android/IOS
Hi
Ich hab das so gelöst, indem ich ein Transparentes Frame erzeuge. Auf diesem Frame liegt dann ein Rectangle mit einem Label für die Beschreibung was aktuell geladen wird + einen AniIndicator. Beim Erzeugen wird ein TTask gestartet in dem der Aniindicator läuft. Funktioniert sehr gut. |
AW: Wait dialog oder sanduhr fuer Android/IOS
Hi, habe mich mit dem TTask noch nicht wirklich beschäftigt, aber erzeugt der nicht einen Thread? Wenn ja dann läuft ja der AniIndicator außerhalb des Mainthreads... Darf/soll das so sein?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:47 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