AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delete file in Verbindung mit INDY idHTTP get
Thema durchsuchen
Ansicht
Themen-Optionen

Delete file in Verbindung mit INDY idHTTP get

Ein Thema von josefkoller · begonnen am 13. Feb 2013 · letzter Beitrag vom 14. Feb 2013
Antwort Antwort
josefkoller

Registriert seit: 22. Okt 2012
49 Beiträge
 
#1

AW: Delete file in Verbindung mit INDY idHTTP get

  Alt 14. Feb 2013, 10:38
Hallo,

ich denke, ich bin mit meiner Sucherei nach meinem Problem einen Schritt weiter.
- Ich hab in dem php Script an relevanten Stellen Variablen gesetzt und dann diese Variablen im
Ergebnisstring des http get's überprüft.

- ich hab nach jedem Aufruf von http.get die erzeugte SQLite DB mit einem anderen ftp Programm
abgeholt.

Ergebnis:

Das php Script läuft nach jedem http Get fehlerlos.
In der SQLite DB stehen immer die richtige Anzahl an Datensaätzen ( je nachdem, mit welchem Paramter
(SL.Values['size1'] := sEdit1.Text; ich die Procedure aufgerufen habe.)

Es kann also nur am http.get liegen, nicht an der delete Geschichte im filesystem des lokalen Rechners.

Kann es sein, daß die "http get"-Geschichte zu langsam ist, um bei wiederholtem Aufruf der Procedure, die "richtige" SQLite Datei zu übertragen?

Wird http nicht "richtig geleert", auch wenn ich mit jedem Procedureaufruf die Komponente zerstöre und mit create neu erzeuge?

Kennt sich mit dieser INDY http Komponente jemand besser aus als ich?

wie ihr seht, sind meine Kenntnisse diesbezüglich begrenzt. Ich komm einfach nicht recht weiter.

vielen Dank

Josef
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

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

AW: Delete file in Verbindung mit INDY idHTTP get

  Alt 14. Feb 2013, 12: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
josefkoller

Registriert seit: 22. Okt 2012
49 Beiträge
 
#3

AW: Delete file in Verbindung mit INDY idHTTP get

  Alt 14. Feb 2013, 20:49
Hallo,

vielen Dank für die Prozedur.

Ich mache aber mittlerweile meine "Datenimportierei" mittels superobject.pas.

Ich kam mit der http.get - Geschichte einfach auf keinen grünen Zweig.

ciao

Josef
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr.
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