Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Delete file in Verbindung mit INDY idHTTP get

  Alt 14. Feb 2013, 13:02
Du kannst die Prozedur wie folgt vereinfachen:
Delphi-Quellcode:
procedure ...
var
  lStream: TFileStream;
  htp2: TIdHTTP;
  filename : string;
begin
  filename := 'IMKEREIDB_IMP.sqlite';
  htp2 := TIdHTTP.Create(nil);
  lStream := nil;
  try
     lStream:=TFileStream.Create('C:\borland\'+filename, fmCreate or fmShareExclusive);
     HTP2.Get('http://www.josefkoller.de/'+filename,lStream);
  finally
    lStream.Free;
    htp2.Free;
  end;
end;
Nun zur Erklärung:
Es ist nicht nötig die Datei explizit zu Löschen; dies wird schon durch fmCreate veranlasst.
Wichtig ist auch die Angabe von fmShareExclusive .
Solange die Datei heruntergeladen wird, möchtest du nicht, dass irgendjemand die Datei im Zugriff hat.
Sollte die Datei noch anderweitig geöffnet sein, dann wird beim Öffnen des FileStreams eine Exception erzeugt.
  Mit Zitat antworten Zitat