Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FtpServer - Ich will die Dateianfrage nicht beantworten (https://www.delphipraxis.net/83801-ftpserver-ich-will-die-dateianfrage-nicht-beantworten.html)

mr47 6. Jan 2007 17:43


FtpServer - Ich will die Dateianfrage nicht beantworten
 
Ich benutze FTP um Dateien zwischen Computern zu versenden. Dazu nehme ich die (TIdFtpServer und TIdFtp) Indys.
Mein Problem ist, falls der Client eine Datei anfordert, die er nicht runterladen darf oder die es nicht gibt, weiß ich nicht was ich machen soll. Im OnRetrieve-Event des Servers muss man ja "VStream" als TFileStream erzeugen um die Datei zu versenden. Wenn die Datei aber nicht existiert, will ich ja nichts versenden und dabei tritt immer ein Fehler auf. ('EIdProtocolReplyError': local Error in Processing). Wie kann ich das verhindern?

Versucht habe ich VStream einfach als TStream zu erzeugen und ihn mit einem "Dummybyte" zu füttern, was aber nicht funktioniert...


gruß und danke

SirThornberry 6. Jan 2007 18:00

Re: FtpServer - Ich will die Dateianfrage nicht beantworten
 
das ist nur der Fehler der beim Server ausgelöst wird. Zurückgegeben wird:
550 Requested action aborted: local error in processing.

Und das ist genau das was zurück gegeben werden soll. Ein Fehlercode mit Text das die Action abgebrochen wurde. Wenn dir die Fehlermeldung nicht zusagt kannst du ja auch einen eigenen Command-Handler machen.

mr47 6. Jan 2007 18:17

Re: FtpServer - Ich will die Dateianfrage nicht beantworten
 
Hoppla. Stimmt :-) Ich hab die Client-Anwendung immer im Debugger laufen lassen, deshalb kam da ne "Extended" Fehlermeldung :mrgreen:

Du hast natürlich recht, danke Dir! (oder besser: danke, Sir! :wink: )


gruß mr47


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