Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS ActivityIndicator nach dem Programmstart (https://www.delphipraxis.net/178647-activityindicator-nach-dem-programmstart.html)

Crocotronic 19. Jan 2014 13:55


ActivityIndicator nach dem Programmstart
 
Hallo,
beim Programmstart werden in meiner App Daten heruntergeladen. Jetzt habe ich das Problem, dass der Splash-Screen erst verschwindet, wenn alles heruntergeladen wurde. Da das aber etwas länger gehen kann, soll der User natürlich darüber informiert werden (mit einem ActivityIndicator), was die App gerade macht.
Das Runterladen starte ich im OnFormShow.
Weiß jemand, wie ich das ganze ohne einen Timer lösen kann?

Viele Grüße
Croco

Sir Rufo 19. Jan 2014 13:57

AW: ActivityIndicator nach dem Programmstart
 
Mit einem Thread und den kannst du quasi sofort starten

Crocotronic 19. Jan 2014 14:04

AW: ActivityIndicator nach dem Programmstart
 
Da der User während dem Herunterladen bzw. ohne die Daten eh nichts machen darf, wäre ein Thread unvorteilhaft. Außerdem sind Threads bei mir eine zu hohe Gefahrenquelle :stupid:
Geht das nicht noch anders? Dachte zuerst an Application.Processmessage, aber das hat unter iOS ja keine Wirkung...

Sir Rufo 19. Jan 2014 14:41

AW: ActivityIndicator nach dem Programmstart
 
Du hast einen Thread für UI und eben nur für UI.
Also ab in den Hintergrund, denn da gehört das hin

Mavarik 19. Jan 2014 14:51

AW: ActivityIndicator nach dem Programmstart
 
Zitat:

Zitat von Crocotronic (Beitrag 1244353)
Da der User während dem Herunterladen bzw. ohne die Daten eh nichts machen darf, wäre ein Thread unvorteilhaft. Außerdem sind Threads bei mir eine zu hohe Gefahrenquelle :stupid:
Geht das nicht noch anders? Dachte zuerst an Application.Processmessage, aber das hat unter iOS ja keine Wirkung...

Gefahrenquelle?

Worin soll die Gefahr bestehen?

Application.Processmessage, aber das hat unter iOS ja keine Wirkung...?

Habe ich da etwas verpasst?

Wenn Du z.B. einen OnClick auf eine Listbox hast die den "blauen Focus" annehmen soll oder einen Button Disablen willst im OnClick bevor die Verarbeitung beginnt, wird der Screen nicht ohne ein Application.Processmessage aktualisiert.

Im OnFormShow eine längere Verarbeitung mag zwar im Debug Modus funktionieren aber nicht mit einer App aus dem AppStore. Wenn die nicht schnell genug startet wird die automatisch beendent.

Beispiel: http download über GPRS... Geht auf keinen Fall.

Crocotronic 19. Jan 2014 15:44

AW: ActivityIndicator nach dem Programmstart
 
Wenn ich an Threads denke, denk ich z.B. an unvorhergesehene Ereignisse oder gar Abstürze. Ich benutzt Threads wirklich nur, wenn es sein muss. Und wie schon gesagt, wäre in meinem Fall ein Thread nur kontraproduktiv.
Zitat:

Zitat von Mavarik (Beitrag 1244368)
Application.Processmessage, aber das hat unter iOS ja keine Wirkung...?

Ich bin einfach mal davon ausgegangen, da es bei mir in allen Versuchen nicht das Ergebnis gebracht hat, das ich erwartete (bzw. sich nicht so verhalten hat, wie unter VCL).
Zitat:

Zitat von Mavarik (Beitrag 1244368)
Im OnFormShow eine längere Verarbeitung mag zwar im Debug Modus funktionieren aber nicht mit einer App aus dem AppStore. Wenn die nicht schnell genug startet wird die Automatisch beendent.

Deshalb will ich ja, dass das Programm erst fertig läd (also alles anzeigt etc.), und dann das Herunterladen beginnt (aber im Main-Thread).

Furtbichler 19. Jan 2014 16:59

AW: ActivityIndicator nach dem Programmstart
 
Zitat:

Zitat von Crocotronic (Beitrag 1244379)
Wenn ich an Threads denke, denk ich z.B. an unvorhergesehene Ereignisse oder gar Abstürze.

Und wenn ich an eine Ampel denke, denke ich immer an Unfälle, Tod, Invalidität.:stupid:

Crocotronic 19. Jan 2014 17:03

AW: ActivityIndicator nach dem Programmstart
 
Ach, du auch?

Spaß bei Seite....
Es wird doch möglich sein, das Programm erst fertig laden zu lassen, bevor etwas ausgeführt wird?

Furtbichler 19. Jan 2014 17:05

AW: ActivityIndicator nach dem Programmstart
 
Ja natürlich.
Delphi-Quellcode:
Procedure TMainFormular.FormCreate(Sender : TObject);
Begin
  SplashScreen.Show();
  MachHierAllesWasGeladenWerdenSoll();
  SplashScreen.Hide();
End;

Crocotronic 19. Jan 2014 17:26

AW: ActivityIndicator nach dem Programmstart
 
Entweder willst du mich trollen oder du hast wirklich keine Ahnung...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr.
Seite 1 von 3  1 23      

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