Indy-FTP->Fehlermeldung
-
In welcher Zeile tritt die AV denn auf?
Wenn es die letzte ist: eventuell hilft es, den Lesezeiger des Streams vorher wieder auf Anfang zu setzen (myStream->Position = 0;).
-
Hallo Jansen,
der Fehler tritt in der ldFTP->Put... Zeile auf.
Und es ist auch egal ob ich einen Stream oder eine Datei hab.
Das lesen funktioniert übrigends... (Get-Funktion).
Komisch ist auch, daß wenn ich zwei Put-Zeilen untereinander schreibe es tadellos funktioniert. Eben nur nicht bei erneutem Drücken des Buttons...
-
.... *sollte nächstesma genauer lesen edit clear*
[ Dieser Beitrag wurde am 30.10.2002 um 08:23 Uhr von 1ntrud0r editiert. ]
-
Was soll das heißen 1ntrud0r ?
Den Satz versteh' ich nicht!
-
hast du den Stream auch created?
-
Ja, hab ich gemacht:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
myStream=new TStringStream("");}
Nochmal: Es spielt keine Rolle ob ich das so:
ldFTP1->Put(myStream,"test.txt",false);
oder so:
ldFTP1->Put("vorher.txt","test.txt",true,false);
da steht.
Bei beiden Versionen bringt er die Fehlermeldung nach dem 2. Klick auf den Button!
Martin
-
Konnte das jetzt mal ausprobieren und habe hier keinerlei Probleme.
Welche Indy-Version benutzt du denn genau? Bei meinem TIdFTP::Connect gibt es zB. den zweiten Parameter gar nicht. Ich habe hier 9.00.10, alle früheren 9er waren ja noch Betas.
Ansonsten: hast du es auch mal mit einem anderen FTP-Server probiert? Und was ist, wenn du weitere Button-Clicks unterbindest, bis die Datei jeweils komplett übertragen wurde?
-
Meine Güte.... wenn ich jetzt anwesend wäre, würdet Ihr mich mit Tomaten beschmeißen... manchmal sieht man die einfachsten Dinge nicht mehr...
Sorry, daß ich euch "gequält" habe...
Mein Fehler war die Zeile:myStream->~StringStream();
ist ja logisch, daß er dann 'nen Fehler macht...
Also gut, wieder was dazugelernt!!!
..nochmal danke!
Martin
-
Diesen Thread habe ich über die Suchen-Funktion gefunden. Und auch noch andere Themen zu der Meldung "Connection Closed Gracefully"
Habe auch die Indy-Hilfe gelesen und die Exception abgefangen.
Meine Frage ist mehr: _warum_ wird die Verbindung geschlossen? Bzw. _wie_ kann ich es verhindern, dass die Verbindung geschlossen wird?
Bei mir ist folgendes: Auf Button-Click wird eine Verbindung zum Server aufgebaut. Das Funktioniert. Wenn ich direkt nach dem Aufbau IdFTP1->RetrieveCurrentDir() aufrufe bekomme ich auch das Verzeichnis zurückgeliefert.
Wenn ich aber IdFTP1->RetrieveCurrentDir() versuch über einen andern Button aufzurufe wird die Verbindung geschlossen und ich bekomme auch das Verzeichnis nicht zurückgeliefert. Das würde heissen: Wollte ich ein FTP-Prog schreiben, dann ginge das nicht, weil ständig die Verbindung geschlossen wird.
Also: wie kann ich das Schliessen der Verbindung verhindern? Die Indy-Hilfe hat mir da nicht geholfen.
-
Bin ich denn der einzige der das Problem hat? Oder kennt das noch jemand? *hiermitdenthreadwiedernachobenschieb
* *schieb*
-
STFW: google: "Connection Closed Gracefully"
-
dschensky schrieb:
STFW: google: "Connection Closed Gracefully"
danke, aber so schlau war ich auch schon. Ich habe nichts passenden gefunden.
-
Jacques schrieb:
danke, aber so schlau war ich auch schon. Ich habe nichts passenden gefunden.
Tatsächlich ?
Na gut, ich werde mal nicht so sein: http://www.google.de/search?q=Connection+Closed+Gracefully&ie=UTF-8&oe=UTF-8&hl=de&meta=Und dort muß man dann mit der linken Maustaste auf den dritten Link raufklicken und kommt dann zu einer Seite, die Dich zu einem Indy-Artikel führt, der Deine Frage beantwortet.
-
OK, der dritte link für mich zwar zu einer Seite mit Links zu artikeln. Aber leider bekomme ich - zumindest zur Zeit - keine Verbindung zu www.swissdelphicenter.ch und kann somit auch nicht die Artikel lesen. Damit bin ich jetzt genauso schlau wie vorher.
-
Jacques schrieb:
Aber leider bekomme ich - zumindest zur Zeit - keine Verbindung zu www.swissdelphicenter.ch ...
kann keine Probleme feststellen, probier's einfach nochmal: http://www.swissdelphicenter.ch/en/showarticle.php?id=1
-
hm, jetzt geht's. Bin aber auch an einem anderen Rechner.
Egal, in dem Artikel steht u.a. folgendesHTTP 1.1 allows a single connection to request multiple documents. However there is no command to signal a disconnect. At any time, either the client or the server can disconnect after a response. When the client disconnects but the server is still accepting requests, a EIdConnClosedGracefully will be raised. In most cases in HTTP 1.1, the client is the one that disconnects. A server will disconnect when it implements part of HTTP 1.1, but does not support the keep alive option.
Leider ist auch das nicht, die Antwort auf meine Frage. Die Frage lautet:
Wie kann ich die Verbindung halten?
hier noch mal die Originalfrage meines ersten Eintrags in diesem Thread:Meine Frage ist mehr: _warum_ wird die Verbindung geschlossen? Bzw. _wie_ kann ich es verhindern, dass die Verbindung geschlossen wird?
-
Prüfst du beim zweiten Buttonklick, ob die Verbindung (noch) besteht? Hast du das Ganze, wie hier schon gefragt, auch mal mit anderen Servern getestet? Ist das Problem zuverlässig reproduzierbar?
Zeig doch einfach mal den entsprechenden Code-Abschnitt.