はじめまして、Pieasant です。
ただ今、NMFTPコンポーネントを使用して、FTPクライアントを作成中です。
初心者なので、早くも壁にぶちあたってしまいました。
以下に(Connect 正常終了後)の現象を述べます。
NMFTP1の[ParseList] プロパティは ”True”に設定してあります。
[現象]
ChangeDir メソッドで作業ディレクトリが指定のディレクトリに変更されたあと、
List メソッドでリモートホストで指定したディレクトリの
詳細なディレクトリリストを取得する。
List コマンドが正常に終了した後の処理をNMFTP1のOnSuccess イベントで
FTPDirectoryList の各プロパティ(Name プロパティ)を取得しようとすると、
NMFTP1.FTPDirectoryList.Name.Count
が常に0となってしまう。(FTPDirectoryListが取得できない。。。)
のです。どなたか解決策をご教授お願い致します。
[開発環境]
OS:Windows 2000
Delphi 5 Enterprise
以下のサンプルは、リモートホストとの接続が成功したあとの
ものです。
- サンプル ---------------------------------------------------------------------
・・・
private
FTPList : TFTPDirectoryList;
DirList : TStringList;
・・・
{リモートホストとの接続確立時実行処理}
procedure TfrmMain.NMFTP1Connect(Sender: TObject);
begin
FTPList := TFTPDirectoryList.Create;
DirList := TStringList.Create;
NMFTP1.ChangeDir('テストディレクトリ');
end;
{リモートホストとの接続切断時実行処理}
procedure TfrmMain.NMFTP1Disconnect(Sender: TObject);
begin
FTPList.Free;
DirList.Free;
end;
{FTPコマンド正常終了時イベント}
procedure TfrmMain.NMFTP1Success(Trans_Type: TCmdType);
var
i, iCnt : integer;
begin
case (Trans_Type) of
cmdList :begin
FTPList := NMFTP1.FTPDirectoryList;
iCnt := FTPList.name.Count;
for i := 0 to iCnt - 1 do begin
DirList.Append(FTPList.Name[i]);
end;
end;
cmdChangeDir :begin //ChangeDirectoryコマンド
NMFTP1.List;
end;
end;
end;
D6で試して見ましたができました、
少し質問してもよろしいですか
private
FTPList : TFTPDirectoryList;//これって必要ですかコンポーネントが勝手に生成してくれると思いますが?
これがあると終了時に書き込みエラーが出るのですが。
DirList : TStringList;
・・・
ツイート | ![]() |