Einzelnen Beitrag anzeigen

Andreas.Koch2

Registriert seit: 23. Nov 2006
5 Beiträge
 
#1

Problem bei Repaint einer Form...

  Alt 23. Nov 2006, 20:41
Hallo zusammen!

Ich habe ein Problem in Delphi 7.
Ich habe einen Online Updater geschrieben, der eine ZIP-Datei aus dem Internet herunterlädt und diese dann entpacke (mittels Abbrevia) und die alten Dateien mit den neuen aus der ZIP austauscht.
Soweit so gut - das ganze funktioniert auch wunderbar.

Mein Problem ist nun folgendes:
Ich habe auf der Form ein Statuslabel, damit der User sieht, was grade gemacht wird.
Dieses Label setze ich auf einen Text und starte den Entpack-Vorgang in Abbrevia.
Das Problem ist nun, dass wenn ich die Exe aus Delphi heraus starte im Debug Modus funktioniert das wunderbar. Sobald ich jedoch die exe alleine starte, wird das Label zu einem weissen Kasten bis alle weiteren Vorgänge abgeschlossen sind.

Nach dem entpacken setze ich das Label auf einen anderen Wert und rufe auch die Update Methode auf (habe auch refresh und repaint probiert) - jedoch bleibt das label ein weisser Kasten (als wäre das Programm abgestürzt)... Wie gesagt - im Delphi Debug klappt alles wunderbar und die Texte werden normal angezeigt.

Kann mir von euch vielleicht einer sagen, was mein Fehler ist?

Ich verzweifel noch da dran
Anbei habe ich einen Screenshot hochgeladen, damit man sieht, was ich meine...


Delphi-Quellcode:

  downloadToFile(DATAPATH, OUTDATA);
  downloadToFile(CHECKSUMPATH, OUTCHECKSUM);
  if not checkByMD5() then
    Begin
      setStatus('MD5 check incorrect! restart update!');
      Result := FALSE;
      exit;
    End;
  setStatus('Decompressing files...');
  form1.Update;
  // Ab hier ist das Label weiss und enthält keinen Text mehr...
  zip := Tzip.Create();
  CreateDir(TEMPPATH);
  zip.unzip(OUTDATA, TEMPPATH);
  zip.abUnzipper1.Free;
  form1.Update;
  Result := TRUE;
Miniaturansicht angehängter Grafiken
screenshot1_679.jpg  
  Mit Zitat antworten Zitat