毎度お世話になっています。今回も宜しくお願い致します。
NMFTPの知識には疎いという前提でお話します。
質問は2点あります。
質問 1
NMFTPを利用してファイルを自動でアップロードするプログラム作成に挑戦し
ています。
Host,UserID,Passwordの各プロパティーを設定後Connectを実行しています
が、正常にプロパティを設定している場合はアップロードが出来ています。
が・・・パスワードエラーを起こさせるとOnConnectionFailureイベントが起
こります。
思い込みですがOnAuthenticationFailedが起こるものだと思っております。
この他の例として、OnAthenticationNeedのイベントが起こるようにエラーを
設定してもOnConnectionFailureイベントが起こります。
この状態をFTPサーバ側でモニターしてみますと「パスワードまたはUserIDが
不正です」と確認されます。
期待したイベントが起こらないのはどうしてでしょうか。
テスト環境
Delphi Version 5, ,Windows2000 , Tiny FTPデーモン
参考ソースリスト
NMFTP1.host := '127.0.0.1' ;
NMFTP1.Port := 21 ;
NMFTP1.TimeOut := 5000;
NMFTP1.UserID := 'anonymous' ;
NMFTP1.Password := 'mse_hamano';
if NMFTP1.Connected = true then
NMFTP1.disconnect;
try
NMFTP1.connect ;
except
on e:exception do
begin
end;
end;
procedure TDataModule1.NMFTP1ConnectionFailed(Sender: TObject);
begin
msg := ' サーバとの接続に失敗しました';
LOGwriter ;
end;
procedure TDataModule1.NMFTP1AuthenticationFailed(var Handled: Boolean);
begin
msg := 'UserID若しくはPassWordが無効です' ;
LOGwriter ;
end;
procedure TDataModule1.NMFTP1AuthenticationNeeded(var Handled: Boolean);
begin
msg := 'UserID若しくはPassWordが空白です' ;
LOGwriter ;
end;
質問 2
FTP転送が正常に実行された時、正常転送のイベントとして、PacketSentを使
用していますがOnSuccessも起こります。
正しい使い方を教えてください
参考ソース
procedure TDataModule1.NMFTP1PacketSent(Sender: TObject);
begin
msg := 'レコード送信完了しました 1';
LOGwriter ;
end;
procedure TDataModule1.NMFTP1Success(Trans_Type: TCmdType);
begin
msg := 'レコード送信完了しました 2';
LOGwriter ;
end;
ツイート | ![]() |