Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Indy 9 Problem mit FTP (https://www.delphipraxis.net/49375-indy-9-problem-mit-ftp.html)

hsbc 10. Jul 2005 15:12


Indy 9 Problem mit FTP
 
Hallo allerseits,

ich habe ein Problem mit den Indy's (Version 9) mit FTP. Das Programm läuft zwar fehlerfrei ab, es werden auch sämtliche Daten zum Server ohne Fehler übertragen.

Wenn ich das Programm jedoch innerhalb der Delphi-Entwicklungsumgebung starte, wird zwar ebenfalls alles ordnungsgemäss abgearbeitet. Beim Beenden des Programmes erscheint dann jedoch ein CPU-Fenster mit dem Titel:

Zitat:

Benachrichtigung über Debugger-Problem

Im Projekt ... trat ein Problem mit folgender Meldung auf:
'application-defined exception (code 0x00000008) at 0x7c91eb74'.
Prozess angehalten.
Wenn ich die compilierte exe-Datei starte, läuft diese ordnungsgemäss ohne Fehlermeldung ab.

Kennt jemand vielleicht die Ursache bzw. weiss jemand, wie man den Grund des Fehlers beseitigen könnte?

mfg
Herbert

DXler 10. Jul 2005 16:19

Re: Indy 9 Problem mit FTP
 
Soweit ich weiß sind bei "Indy 9.0" Demos dabei. Wenn ich mich nicht täusche auch für FTP. Funktioniert das Demo denn ohne Probleme oder gibt es da auch schon Probleme (Abstürze, Hänger usw.)?

Falls ja: dann wird es wohl an der "Indy 9.0"-Version liegen.

Bei "Indy" mache ich eigentlich regelmäßig Updates bzw. ich installiere regelmäßig die neueste Version (deinstalliere vorher natürlich die alte Version!!).

hsbc 11. Jul 2005 09:11

Re: Indy 9 Problem mit FTP
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe hier im Anhang mal das CPU-Fenster mit der Fehlermeldung angehängt. Vielleicht kann ein erfahrener Benutzer mir sagen, von welchem Teil von Indy dieser Fehler ausgelöst wird.

mfg
Herbert

DXler 11. Jul 2005 09:19

Re: Indy 9 Problem mit FTP
 
Moin! :-)

Die Idee mit dem Screenshot ist ja wirklich super gemeint, aber das CPU-Fenster sagt nichts darüber aus, wo der Fehler passiert ist! Man kann sicherlich sagen, das ein bestimmter Wert der in ein Register geschrieben wurde den Fehler ausgelöst hat, aber man kann unmöglich sagen, durch welche Quelltextzeile und welchen Befehl dieser Wert in das entsprechende Register geschrieben wurde.

Sinnvoller wäre es da schon, wenn man den Source-Code (falls möglich) vor sich hätte und könnte den Fehler reproduzieren. Man(n) (Frau übrings auch! ;-) ) könnte sich dann per integriertem Debugger an die entsprechende Stelle "herantasten".

hsbc 11. Jul 2005 10:04

Re: Indy 9 Problem mit FTP
 
Leider ist der Quelltext zu lange, um ihn hier zu posten. Ich vermute, dass die verwendete Routine IdFTP.DirectoryListing ev. mit der Fehlermeldung zu tun hat. Bin mir nicht sicher, ob diese Routine überhaupt noch unterstützt wird. In Indy 10 gibt es diese nicht mehr, deshalb habe ich mich für Indy 9 entschieden. Oder gibt es in Indy 10 eine Alternative zu DirectoryListing - ich möchte nämlich die einzelnen Attribute einer Datei auswerten (Name, Ext, Länge, Type, Attribute). Habe hierzu in Indy 10 leider keine Möglichkeit mehr gesehen.

Nachdem die compilierte Application sowieso fehlerfrei abläuft, ist es mehr oder weniger nur ein Schönheitsfehler und wird mich halt nicht weiter stören.

mfg
Herbert

mirage228 11. Jul 2005 10:22

Re: Indy 9 Problem mit FTP
 
Hi,

Du könntest noch probieren, Dir den "Aufruf-Stack" (unter "Debug-Fenster") anzuschauen. Dort findest Du evtl. heraus, welche Routine zum Fehler geführt hat.

mfG
mirage228

marabu 11. Jul 2005 10:26

Re: Indy 9 Problem mit FTP
 
Vielleicht hilft dir ja auch der Code in diesem Beitrag.

Grüße vom marabu

hsbc 11. Jul 2005 13:45

Re: Indy 9 Problem mit FTP
 
Ich konnte ev. den Fehler jetzt weiter eingrenzen. Mit dem Debugger komme ich mittels F7 bis zur Indy-Routine:

IdWinSock2

Am Ende dieser Routine steht:

Delphi-Quellcode:
finalization
  WS2Unload
end.
Ws2Unload wird noch fehlerfrei ausgeführt, danach steht der Cursor auf end. Wenn ich hier jetzt nochmals F7 drücke, kommt das CPU-Fenster.

Vielleicht liest hier jemand von der Indy-Seite mit und könnte mir ev. weiterhelfen.

Wie gesagt, betrifft nur den Ablauf der Application innerhalb von Delphi. Die compilierte Version läuft dagegen fehlerfrei.

mfg
Herbert

marabu 11. Jul 2005 14:09

Re: Indy 9 Problem mit FTP
 
Hallo Herbert,

was macht dich so sicher, dass es sich um einen Fehler in den Indy-Komponenten handelt? Dass du beim single step auf die finalization section deiner wahrscheinlich letzten Unit in der exit chain stösst ist kein Indiz auf einen Fehler dort. Ich vermute dass dein Code den Fehler verursacht und dass er je nach Ablaufumgebung in Erscheinung tritt oder nicht. Das muss nicht mal Code sein, der eine Indy-Komponente verwendet. Isoliere den fraglichen Code einfach und teste das Fragment in beiden Ablaufumgebungen - dann hast du Sicherheit, dass es an diesem Code liegt. Ob es dann ein Fehler in der Anwendung der Komponenten (dein Fehler) oder in der Komponente selbst (Indy Fehler) ist, kann dann leichter geprüft werden.

Freundliche Grüße vom marabu

hsbc 12. Jul 2005 10:48

Re: Indy 9 Problem mit FTP
 
Hallo allerseits,

der Fehler ist gefunden ! :-D

Ursache war:

Der Aufruf der Routine SndPlaySound aus der Unit MMSystem - welche zwar funktionierte, jedoch beim Beenden des Programmes obigen Fehler verursachte.

In diesem Zusammenhang: Wie kann ich einen Sound (.wav) innerhalb von Delphi abspielen, ohne die Routine SndPlaySound ?

mfg
Herbert


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 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