Sample code for 30+ languages & platforms
Delphi ActiveX

Transition from SFtp.ReadDir to SFtp.ReadDirListing

Provides instructions for replacing deprecated ReadDir method calls with ReadDirListing.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
sftp: TChilkatSFtp;
handle: WideString;
dirObj: IChilkatSFtpDir;
dirOut: TChilkatSFtpDir;

begin
success := 0;

sftp := TChilkatSFtp.Create(Self);

// ...
// ...

handle := sftp.OpenDir('.');
// ...
// ...

// ------------------------------------------------------------------------
// The ReadDir method is deprecated:

dirObj := sftp.ReadDir(handle);
if (sftp.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(sftp.LastErrorText);
    Exit;
  end;

// ...
// ...

// ------------------------------------------------------------------------
// Do the equivalent using ReadDirListing.
// Your application creates a new, empty SFtpDir object which is passed 
// in the last argument and filled upon success.

dirOut := TChilkatSFtpDir.Create(Self);
success := sftp.ReadDirListing(handle,dirOut.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(sftp.LastErrorText);
    Exit;
  end;

// ...
// ...

sftp.CloseHandle(handle);
end;