Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Problem mit Datei schließen (https://www.delphipraxis.net/151517-problem-mit-datei-schliessen.html)

-Phantom- 21. Mai 2010 15:51

Re: Problem mit Datei schließen
 
Zitat:

Du musst im OnWork von TIdHTTP sowie nach dem .Get Application.ProcessMessages aufrufen
Was den aufrufen ? Den download? Das Löschen? Das Abbrechen?

Andreas L. 21. Mai 2010 15:56

Re: Problem mit Datei schließen
 
Zitat:

Zitat von -Phantom-
Zitat:

Du musst im OnWork von TIdHTTP sowie nach dem .Get Application.ProcessMessages aufrufen
Was den aufrufen ? Den download? Das Löschen? Das Abbrechen?

Delphi-Quellcode:
Application.ProcessMessages;

-Phantom- 21. Mai 2010 16:01

Re: Problem mit Datei schließen
 
Bei dem Button "Download" hab ich nun das stehen:
Delphi-Quellcode:
procedure TForm3.Button2Click(Sender: TObject);
var
ini : Tinifile;
begin
button2.Enabled := false;
createdir(edit1.Text);
speicherpfad := edit1.Text;
ini := Tinifile.Create(speicherpfad+'Einstellungen.ini');
responseStream := TFileStream.Create(speicherpfad+'Phantom_Zip_v2.exe', fmCreate);
try
IdHTTP1.Get('http://phantomzip.ph.funpic.de/Phantom_Zip_v2.exe', responseStream);
finally
responseStream.free;
Und das bei idhttp1.onwork
Delphi-Quellcode:
procedure TForm3.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
sgauge1.Progress := AworkCount;
if abbrechen then begin
sgauge1.Progress := 100;
Application.ProcessMessages;
deletefile(speicherpfad+'Phantom_Zip_v2.exe');
end;
end;
So was mache ich falsch es kommt immer noch die Fehlermedlung

-Phantom- 21. Mai 2010 18:13

Re: Problem mit Datei schließen
 
Habs nun hinbekommen das die Meldung nicht mehr kommt und das die Datei gelöscht wird
Delphi-Quellcode:
//download
procedure TForm3.Button2Click(Sender: TObject);
var
ini : Tinifile;
begin
button3.Enabled := False;
button2.Enabled := false;
createdir(edit1.Text);
speicherpfad := edit1.Text;
ini := Tinifile.Create(speicherpfad+'Einstellungen.ini');
responseStream := TFileStream.Create(speicherpfad+'Phantom_Zip_v2.exe', fmCreate);
try
IdHTTP1.Get('http://phantomzip.ph.funpic.de/Phantom_Zip_v2.exe', responseStream);
finally
responseStream.free;
Das beim Abbrechen
Delphi-Quellcode:
procedure TForm3.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
sgauge1.Progress := AworkCount;
if abbrechen then begin
sgauge1.Progress := 100;
responseStream.Free;
deletefile(speicherpfad+'Phantom_Zip_v2.exe');
form1.Close;
end;
Es kommt nun eine Fehlermeldung von Delphi wenn ich das Programm ausführe aber die geht sofort wieder weg ?! naja egal Hauptsache es geht nun

rollstuhlfahrer 21. Mai 2010 19:39

Re: Problem mit Datei schließen
 
Du kannst auch einen THandleStream nehmen, musst allerdings vorher mittels CreateFile() die Datei öffnen und kannst diese dann nach dem .Free wunderbar mit CloseHandle() schließen, wenn das Destroy das nicht für dich übernimmt.

Bernhard

PS: Ansonsten komisches Verhalten: Meiner Meinung nach sollte die Datei nach FileStream.Free geschlossen sein, sodass man sie auch löschen kann.

EDIT: Die Fehlermeldung ist sofort weg, weil du das Programm schließt.

-Phantom- 22. Mai 2010 08:32

Re: Problem mit Datei schließen
 
ja ich weiß... ^^ aber das Programm macht alles reicht das nicht? Ich hab mich damit nun 2 Tage auseinander gesetzt nur damit man den Download abbrechen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz