Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Animiertes GIF bleibt stehen


colaka - So 22.08.10 08:49
Titel: Animiertes GIF bleibt stehen
Hallo,

ich lade von meinen Lieferanten jeden Tag die aktuellen Preis- und Verfügbarkeitslisten per FTP in meine WaWi. Bei einem Lieferanten muß ich dazu ein Skript auf dem Server aufrufen, das die heruntzerzuladende Datei erst erzeugt. Bis die Datei auf dem Server erstellt ist, vergehen ungefähr 1 bis 2 Minuten bis der Download beginnen kann. Während dieser Zeit scheint mein Programm tot zu sein. Damit während dieser Wartezeit niemand mein Programm vorzeitig per Taskmanager beendet, habe ich eine timergesteuerte Laufschrift eingebaut. Doch die bleibt genau während der Skripterstellung einfach stehen. Jetzt habe ich ein animiertes Gif erstellt, doch auch das bleibt genau an dem Punkt, wo ich es brauche, ebenfalls stehen.

Kann mir hier jemand sagen, was ich tun könnte, um dem Benutzer zu signalisieren, daß das Programm noch arbeitet?

Danke Ebi


D.Elphi - So 22.08.10 10:15

Hallo colaka,
in dem Moment, wo der Downloadvorgang startet, kann man ja z.B eine MessageBox anzeigen lassen, welche z.B anzeigt: Die Listen werden erstellt und heruntergeladen. Bitte beenden Sie nicht das Programm. Dieser Vorgang kann 1-2 Minuten in Anspruch nehmen. Natürlich ist das nur ein Vorschlag.


Delphi-Quelltext
1:
2:
3:
4:
Application.MessageBox ('Die Listen werden erstellt und heruntergeladen.' 
        + ' Bitte beenden Sie nicht das Programm. ' 
        + 'Dieser Vorgang kann 1-2 Minuten in Anspruch nehmen.'
        'Wartezeit-Hinweis'0+32);


PS: Mit dem animierten GIF: Ich habe auch ein Programm, wo das irgendwie nicht klappen will :(



Moderiert von user profile iconGausi: Zeilenumbruch eingefügt.


colaka - So 22.08.10 10:56

Hallo,

vielen Dank für Deine Antwort. Das wäre natürlich eine Lösung, aber ein animiertes Gif wäre halt viel schöner. Ich habe so ein Problem nämlich auch noch bei SQL-Abfragen. Meine Artikeltabelle umfaßt inzwischen über 160.000 Artikel, da dauern manche SQL-Abfragen auch so ein paar Sekunden.

Vielleicht gibt es doch eine Möglichkeit, das animierte Gif weiterlaufen zu lassen.

Danke Ebi


Tankard - So 22.08.10 12:37

das problem ist das die nachrichten der application nicht mehr ausgefuehrt werden, wenn du in deiner erstellungsschleife haengst.

einweder in einen thread auslagern und per call back die application informieren das wir fertig sind (bessere alternative)

oder quick and dirty einfach in der schleife ab und zu mal application.processmessages aufrufen.

gruss
tankard

ps: gleiches problem wie in dem thema progressbar laufen lassen, während ein prozess läuft?

man sollte mal dazu ein tutorial schreiben.