NMFTPのイベントが起きないのはどうして?


浜の武蔵  2004-07-17 22:19:05  No: 9963

毎度お世話になっています。今回も宜しくお願い致します。

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;


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加