Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Befehl Bei Appstart ausführen (https://www.delphipraxis.net/132735-befehl-bei-appstart-ausfuehren.html)

Dr.Delphi 18. Apr 2009 13:29


Befehl Bei Appstart ausführen
 
Hallo ich möchte das mein programm bei start eine datei herunterlädt
mein code sah bisher so aus
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
   var
  Datei,Ziel:PChar;
begin
  Label1.Caption := 'Download gestartet';
  try
    Datei := 'www.test.de\beispiel.txt';
    Ziel := 'beispiel.txt';
    UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
    Label1.Caption := 'Download beendet';
  except
    showmessage('Download abgebrochen');
 end;
soweit so gut aber er lädt die runter und man sieht erst nach herunterladen die form
wie kann ich das ändern denn ich möchte einen downloadstatus einbauen.

DeddyH 18. Apr 2009 13:36

Re: Befehl Bei Appstart ausführen
 
Hallo und Willkommen in der DP :dp:,
Du solltest Dich mal mit Threads befassen, hier im Forum gibt es genügend Beispiele.

Bernhard Geyer 18. Apr 2009 15:40

Re: Befehl Bei Appstart ausführen
 
1, Verlagere den Download nach dem FormShow-Event (z.B. indem im OnFormShow ein Timer gestartet wird). Damit bist du sicher das das Formular sichbar ist

2, Stell für die Methode auch den Callback bereit um über den Fortschritt informiert zu werden.

Dr.Delphi 19. Apr 2009 15:39

Re: Befehl Bei Appstart ausführen
 
Delphi-Quellcode:
begin
    Form1.Show;
    Datei := 'http://besispiel.txt';
    Ziel := 'text.txt';
    UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
end;
und ich sehe keine form... jedenfalls seheh ich nur ein graues fenster und keine buttons oder sonstiges.


wenn ich es per button mache reagiert die form nicht bis der download fertig ist

Luckie 19. Apr 2009 20:31

Re: Befehl Bei Appstart ausführen
 
In welchem Ereignis steht er Code jetzt? Warum steht da Form1.Show? Wenn das Formzuar noch reagieren soll, muss in der Callback Funktion Application.ProcessMessages aufgerufen werden oder der Download muss in einem Thread erfolgen. Ich würde die Indy Komponenten empfehlen und in deren OnWork Ereignis ab und zu mal Application.ProcessMessages aufrufen.

lbccaleb 19. Apr 2009 21:54

Re: Befehl Bei Appstart ausführen
 
Hallo und willkommen in der DP!! :dp: :dp:


Siehe auch HIER


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 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