Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi indy 10 auf Delphi 6 Enterprise (https://www.delphipraxis.net/116917-indy-10-auf-delphi-6-enterprise.html)

stekohl 8. Jul 2008 16:29


indy 10 auf Delphi 6 Enterprise
 
Folgendes Problem.

Ich wollte per idftp rekursiv die Verzeichnisse per FTP auslesen. Leider sind die von Borland inklusiven Indy VCL nicht in der Lage mit den versch. Parsern zu arbeiten. So bekommt man je nach FTP Server ein relatives Kauderwelsch heraus.

Also meine Idee: Indy 10 muß her. Ich habe also alle *.bpl / *.dcu / *.pas die irgentwie nach Indy rochen entfernt. Dann Indy installiert, erstmal den steinigen Weg genommen (nicht den Installer) und per Fulld6.bat den Kram kompieliert. Dann die visuellen VCL installiert. Erfolg, die kompletten Protokoll VCL's fehlten.

Wieder alles runter geschmissen, per Hand laut Anleitung kompiliert und Installiert. Sources und Libs angegeben. IDFTP klappt, verbindung wird aufgebaut, sobald ich die IDFTP.List / IDFTP.directorylist Funktion nutze schmeisst er mich mit einem Exception "EIdConnClosedGracefully raus. Ich kann jedoch ohne Probleme vorher per ChangeDir das Verzeichnis wechseln.

Per Breakpoint habe ich mich dann an den Rauswurf rangetastet. Nun sind ja Excepionts bei Indy nicht umbedingt Fehler, jedoch sollte eine FTP Verbindung auch länger bestehen als 0,5 Sec.

Ich gurke jetzt schon relativ lange daran herum, weis auch nicht, ob ich alle Eigenschaften richtig belegt habe. Im Gegensatz zu der alten idFtp wird man ja hier relativ zugehämmert mit Optionen. Wie gesagt, die Verbindung wird aufgebaut, ich kann das Verzeichniss ändern und dann ist Sense.

Ach ja, by the way, obwohl ich Service Pack 2 und RTL 3 installiert habe, hatte ich bei der Installation per "Atozed's" Installationsroutine immer den Fehler, dass die Runtimelibrary in der falschen Version kompiliert sind. Habe daher diesen Versuch auch abgebrochen.

Wäre schon wenn mir jemand ein wenig helfen würde. Ich plage mich da schon etwas länger damit herum.

RavenIV 9. Jul 2008 11:42

Re: indy 10 auf Delphi 6 Enterprise
 
Über die Exception "EIdConnClosedGracefully" hab ich doch neulich erst in der DP gelesen.
Vielleicht solltest Du mal die Suchfunktion anschmeissen.

stekohl 9. Jul 2008 20:18

Re: indy 10 auf Delphi 6 Enterprise
 
Zitat:

Zitat von RavenIV
Über die Exception "EIdConnClosedGracefully" hab ich doch neulich erst in der DP gelesen.
Vielleicht solltest Du mal die Suchfunktion anschmeissen.

Da will ich Dir nicht wiedersprechen, jedoch gibt es in keinem der Threads eine plausible Lösung dafür.
Ich denke das ich da einen Fehler in meienr Application habe.

So baue ich die Verbindung auf.
Delphi-Quellcode:
  idftp1.Host:=datamodule1.verbindungFTPHOST.Value;
  idftp1.Port:=datamodule1.verbindungFTPPORT.Value;
  idftp1.Username:=datamodule1.verbindungFTPUSER.Value;
  idftp1.Password:=datamodule1.verbindungFTPPASSWORD.Value;
  try
   idftp1.Connect;
   label12.Caption:=idftp1.SystemDesc;

  except
  i:= Messagedlg('FTP Verbindung zu '+datamodule1.verbindungname.value+' fehlgeschlagen!!',mtError, [mbYes, mbNo], 0   );
  end;
Per Breakpoints weiß ich das das Programm bis zur markierten Stelle läuft und dann kommt besagter Exception.
Delphi-Quellcode:
  configphp:=tfilestream.Create('trax.dat',fmcreate);
  idftp1.ChangeDir(datamodule1.verbindungFTPPATH.Value);
  files:=tstringlist.Create;
  filesdetails:=tstringlist.Create;
  idftp1.List(filesdetails,'',true); //<---Hier ist Sense
Nun schlagt mich Tot, mit der Ur Indy VCL die installiert war klappte es. Jedoch konnte ich damit nicht auf die versch. FTP Directoryformate reagieren.

stekohl 9. Jul 2008 21:38

Re: indy 10 auf Delphi 6 Enterprise
 
Also ich glaube jetzt komm ich der Sache näher. Starte ich meine Application nicht zur Laufzeit sondern als EXE direkt, wird der Befehl normal ausgeführt.

Ich werde mal meine IDFTP Aufrufe per Try Except kapseln. Ich kann aber auch erstmal gut ohne F9 leben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:29 Uhr.

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