Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Warten bis Datei heruntergelden (https://www.delphipraxis.net/116062-warten-bis-datei-heruntergelden.html)

FGD 22. Jun 2008 21:20


Warten bis Datei heruntergelden
 
Delphi-Quellcode:
UrlDownloadToFile(nil, PChar(Form1.Richedit1.lines[nr]), PChar(Form1.Edit1.Text+'\'+Form1.Richedit1.lines[nr+1]), 0, nil);
//hier soll gewartet werden
Form1.memo2.lines.loadfromfile(Form1.Edit1.Text+'\'+Form1.Richedit1.lines[nr+1]);
Wie bekomm ich es hin, dass dort gewartet wird bis die Datei heruntergeladen ist.

toms 23. Jun 2008 06:20

Re: Warten bis Datei heruntergelden
 
Hallo,

So viel ich weiß, ist doch UrlDownloadToFile() schon synchron, d.h es wird gewartet bis der Aufruf beendet worden ist.

[edit=Admin]Beitrag wg. Cache-Problem neu abgesendet. Mfg, Daniel[/edit]

Luckie 23. Jun 2008 09:20

Re: Warten bis Datei heruntergelden
 
Der Beitragstext von toms erscheint irgendwie nicht:
Zitat:

Zitat von toms
Hallo,

So viel ich weiß, ist doch UrlDownloadToFile() schon synchron, d.h es wird gewartet bis der Aufruf beendet worden ist.

@toms: mach bitte nichts an deinem Beitrag, damit sich Daniel das mal angucken kann.

FGD 23. Jun 2008 18:55

Re: Warten bis Datei heruntergelden
 
Mein Problem: Die Datei existiert noch nicht, wenn sie ins Memo geladen werden soll.

Larsi 23. Jun 2008 18:57

Re: Warten bis Datei heruntergelden
 
Delphi-Quellcode:
try
UrlDownloadToFile(nil, PChar(Form1.Richedit1.lines[nr]), PChar(Form1.Edit1.Text+'\'+Form1.Richedit1.lines[nr+1]), 0, nil);
finally
Form1.memo2.lines.loadfromfile(Form1.Edit1.Text+'\'+Form1.Richedit1.lines[nr+1]);
end;

Und so? Vielleicht musst du die Dateia auch erst wieder freigeben :gruebel: :)

toms 23. Jun 2008 19:00

Re: Warten bis Datei heruntergelden
 
@Larsi: Try..Finally ist nicht für das gedacht.

@FGD: Warte nach dem Download ein paar MS (oder Überprüfung in Schleife bis FileExists)

Larsi 23. Jun 2008 19:05

Re: Warten bis Datei heruntergelden
 
Also eigentlich geht das echt erst weiter nachdem die Datei heruntergeladen wurde mit dem Memo. Noch einfacher gehts allerdings mit den Indies:
Delphi-Quellcode:
 Memo1.Text:=idHTTP1.Get('http://www.delphi- treff.de');

FGD 23. Jun 2008 19:22

Re: Warten bis Datei heruntergelden
 
Zitat:

Zitat von Larsi
Also eigentlich geht das echt erst weiter nachdem die Datei heruntergeladen wurde mit dem Memo. Noch einfacher gehts allerdings mit den Indies:
Delphi-Quellcode:
 Memo1.Text:=idHTTP1.Get('http://www.delphi- treff.de');

Wo befindet sich denn idHTTP?
Und FileExists geht nicht. Die Datei wird als vorhanden gemeldet, obwohl sie noch nicht da ist.

Larsi 23. Jun 2008 19:36

Re: Warten bis Datei heruntergelden
 
Ist bei den Indies dabei. Zusatzkomponenten. Du musst die Datei vielleicht erst freigeben!

marabu 23. Jun 2008 20:25

Re: Warten bis Datei heruntergelden
 
Hallo,

man muss nicht unbedingt die Indy Komponenten installieren, es funktioniert natürlich auch mit UrlDownloadToFile(). Die Funktion arbeitet synchron, wie Tom bereits geschrieben hat. Es ist halt eine Funktion und man muss schon einen guten Grund haben, wenn man den Rückgabewert einfach ignoriert. In der Regel liegt der Fehler bei URL oder FILENAME.

Delphi-Quellcode:
procedure TDemoForm.DownloadButtonClick(Sender: TObject);
var
  fn, url: string;
begin
  // ...
  url := Richedit1.lines[nr];
  fn := Edit1.Text + '\' + Richedit1.lines[nr+1];
  ShowMessage(Format('url = %s'#13#10'fn = %s', [url, fn]));
  if Succeeded(UrlDownloadToFile(nil, PChar(url), PChar(fn), 0, nil))
    then ShowMessage('swell')
    else ShowMessage('rats');
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:53 Uhr.
Seite 1 von 2  1 2      

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