AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung iOS ActivityIndicator nach dem Programmstart
Thema durchsuchen
Ansicht
Themen-Optionen

ActivityIndicator nach dem Programmstart

Ein Thema von Crocotronic · begonnen am 19. Jan 2014 · letzter Beitrag vom 21. Jan 2014
Antwort Antwort
Seite 1 von 3  1 23      
Crocotronic

Registriert seit: 9. Mai 2013
258 Beiträge
 
#1

ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 14:55
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
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 14:57
Mit einem Thread und den kannst du quasi sofort starten
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Crocotronic

Registriert seit: 9. Mai 2013
258 Beiträge
 
#3

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 15:04
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
Geht das nicht noch anders? Dachte zuerst an Application.Processmessage, aber das hat unter iOS ja keine Wirkung...
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 15:41
Du hast einen Thread für UI und eben nur für UI.
Also ab in den Hintergrund, denn da gehört das hin
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 15:51
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
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.

Geändert von Mavarik (19. Jan 2014 um 21:21 Uhr)
  Mit Zitat antworten Zitat
Crocotronic

Registriert seit: 9. Mai 2013
258 Beiträge
 
#6

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 16:44
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.
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).
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).

Geändert von Crocotronic (19. Jan 2014 um 16:47 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 17:59
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.
  Mit Zitat antworten Zitat
Crocotronic

Registriert seit: 9. Mai 2013
258 Beiträge
 
#8

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 18:03
Ach, du auch?

Spaß bei Seite....
Es wird doch möglich sein, das Programm erst fertig laden zu lassen, bevor etwas ausgeführt wird?
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#9

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 18:05
Ja natürlich.
Delphi-Quellcode:
Procedure TMainFormular.FormCreate(Sender : TObject);
Begin
  SplashScreen.Show();
  MachHierAllesWasGeladenWerdenSoll();
  SplashScreen.Hide();
End;
  Mit Zitat antworten Zitat
Crocotronic

Registriert seit: 9. Mai 2013
258 Beiträge
 
#10

AW: ActivityIndicator nach dem Programmstart

  Alt 19. Jan 2014, 18:26
Entweder willst du mich trollen oder du hast wirklich keine Ahnung...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 19:21 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