Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#13

AW: Neustart von idFTP nach EIdConnClosedGracefully?

  Alt 23. Jul 2010, 12:12
Hallo,

jetzt stolper ich über diese Thread und hier steht so viel falsches, dass geht ja langsam nicht mehr

Fangen wir mal ganz oben an:

Exceptions sind nicht nur Fehler, sondern eben Exceptions. Es macht auch einen Unterschied zu erwähnen, ob diese Silent Exceptions sind, d.h. nur in der IDE beim Debugger auftreten oder auch bei einer Ausführung ohne Debugger.

Zum Thema Indy, Exceptions und "Connection Closed Gracefully" gibt es seit vielen Jahren (über Google gut zu findende) Infos:
http://www.indyproject.org/KB/index....exceptions.htm
http://www.indyproject.org/KB/index....ngeidconnc.htm
http://www.swissdelphicenter.ch/en/showarticle.php?id=1

Die "Warnung" von DelTurbo zu Updates nach einer gewissen Revision halte ich für falsch, es ist einfach seine persönliche Meinung.

Was ich nicht stehen lassen kann:

Zwei Dinge, die DelTurbo ausführt, sind wissentlich falsch
1. Indy hätte keine Anlaufstellen
2. Es wären auf meinen Wunsch keine Threads zu den Themen erzeugt worden

DelTurbo selbst wollte damals PNs statt Threads, dies klingt in obigem Post nun anders... Über die Kommunikationsprobleme zwischen DelTurbo und mir und Erwartungshaltung an OpenSource von DelTurbo gibt es hier genügend Threads.

Desweiteren bin ich hier zwar vertreten, aber ich kann nicht jede PN dazu beantworten. Dies ergibt sich schon aus der Anzahl der Delphi und Indy Installation, hier in der DP auch aus der Anzahl der Forenmitglieder und Indy Themen.

Nun zu den Anlaufstellen:

Projektseiten und Issue Tracker
http://code.google.com/p/indyproject/issues/list
http://indy.codeplex.com/workitem/list/basic

Newsgroups
Bei Atozed (NNTP): news://news.atozedsoftware.com/
Bei Embarcadero (NNTP): embarcadero.public.delphi.internet.winsock
Bei Embarcadero (Web): https://forums.embarcadero.com/forum.jspa?forumID=74

Bugreports
Es gehört zum guten Ton in der Delphi bzw. Entwickler Community ein reproduzierbares Demo bzw. genügend Code für Bugreports bereitzustellen. Da muß auch ich durch, wenn ich etwas im QualityCentral bei Embarcadero als Delphi-Fehler erfasse. Informationen über Betriebssystem, Delphi Version, Testumgebung etc.pp. gehören auch dazu.

Für offizielle Bugreports mit Delphi ausgelieferter Indy Versionen, bitte das QualityCentral nutzen.

Dort werden Bug Reports auch von Embarcadero gelegentlich bewertet. Viele werden auch geschlossen, weil die Qualität einfach zu schlecht ist (eben kein Quelltext, keine deutliche Sprache und/oder kein Demo). Soviel zum Thema mühselig - so ist das nunmal...

Webseite
Die Webseite (http://indyproject.org/) ist bekannt, aber ebenso wie bei den Kollegen vom JEDI Team hoffnungslos veraltet. Dies liegt an mangelnder Unterstützung durch Freiwillige. Summa summarum ist Indy ein OpenSource Projekt mit starker gegenseitiger Abhängigkeit zu Embarcadero Delphi & C++ Builder. Das Team ist inzwischen bei uns aber leider sehr klein.

Das Problem mit Connection Closed Gracefully
Änderungen wie von DelTurbo vorgeschlagen, z.B. die Try-Catch-A, verdecken nur ein anderes Problem. Dies ist nicht zu empfehlen, da ja die Möglichkeit besteht diese Exception mit Grundlagenwissen Delphi abzufangen und die Komponente z.B. neu zu instanzieren.

Übrigens: Bei einer Designtime Komponente läßt sich z.B. mit GExperts IDE Add-In per Mausklick die Design- in eine Runtime-Komponente "verwandeln". Dann steht einer Wiederverwendung doch nichts im Weg.

Das aktuelle Problem ist bekannt, tritt sporadisch auf. Erfasst ist ein ähnlich gelagertes Problem z.B. bereits hier:
http://code.google.com/p/indyproject...il?id=81&can=1

Sehr zu empfehlen ist der Thread "Connection closed gracefully redux" von unserem Team Mitglied Remy Lebeau (TeamB) im EMBT Forum:
https://forums.embarcadero.com/messa...ssageID=166101

Es also schon helfen, nach dem Disconnect den Input Buffer zu leeren (egal ob HTTP oder FTP Komponente):
if Assigned(IOHandler) then IOHandler.InputBuffer.Clear;

Delphi 6 & 7
Im Moment liegt die Priorität bei der Entwicklung auf aktuellen Versionen, insbesondere im Bereich Vereinfachung und besserer Support für Unicode.

Delphi 6 & 7 laufen zu 99,9% nicht anders als Delphi 2009 & 2010. Die Probleme, die es gibt beziehen sich auf die Komponenten Packages. Das wird später gefixt, da hier sowieso eine größere Änderungen kommen soll.

Hier im Forum waren trotzdem genügend in der Lage, dies Installationsprobleme selbst zu lösen und nutzen aktuellste Revisionen von Indy mit D7 (Components-By-Code geht sowieso).

Zum Projekt
Leider kann bei einer so großen Library wie den Indys vieles nicht "mal eben so" gefixt werden, da viele Änderungen andere Teile in Mitleidenschaft ziehen könnten. Das Prinzip "1 Bug gefixt, dafür 10 neue offen" bringt ja niemandem etwas. Es gibt gerade bei WinSocks einige Fallstricke, über die Entwickler die mal eben eine "Internet Kompo" bauen wollen, immer wieder fallen.

Die vergangenen Probleme von DelTurbo beziehen sich auf Komponenten, IRC und FXP (FTP Server-zu-Server), die leider keine hohe Verbreitung bei unseren Nutzern haben und deswegen auch keine hohe Priorität. Dafür fehlt einfach die Zeit und die Manpower. Sie sind eine einfache Beigabe, insbesondere weil weder das eine noch das andere einer Normierung unterliegt. Bei FTP, HTTP, SMTP etc gibt es ja im Gegenzug die bekannten RFCs.

Seit kurzem haben wir alle offenen Bugs im internen Bugtracker von Embarcadero schließen können, darüber freue ich mich zumindest sehr.

@Andreas: Ich hoffe, das hat dir etwas weiter geholfen. Melde Dich gerne bei Google Code oder CodePlex an, um unseren Issue Tracker zu füllen. Das gilt natürlich auch für alle anderen.

Gruß,
Assertor
Frederik
  Mit Zitat antworten Zitat