Page 1 of 1

Demo Error

Posted: Thu 11 Dec 2014 20:14
by KaburagiS
Hello,

I am trying to evaluate sftp demo for Delphi 2007 and it uploads OK, but when I try to download the file just I uploaded, it returns with an error that says Timeout expired, SFTP server have not responded. I increased the timeout to 60 and it still returns the same thing. I uploaded and downloaded the same file with FileZilla and did not have any problems and the file downloaded within a minute.

Can you tell me what’s wrong with this?

Re: Demo Error

Posted: Fri 12 Dec 2014 17:26
by Dimon
It seems, that SFTP Server doesn't have access rights to a directory. Try to download a file step by step without using the DownloadFile method. Please follow the steps below:
1. Establish SFTP connection using the TScSFTPClient.Initialize method.
2. Open a remote file by the OpenFile method.
3. Retrieve file attributes by the RetrieveAttributesByHandle method.
4. Read the data using the ReadFile method in a loop until the file download is completed.

Re: Demo Error

Posted: Tue 10 Jan 2017 09:12
by Freek
I'm also using the DEMO for Delphi2007 to evaluate the sFTP / SSH client for our application.
I got the connection in order but Upload / Download / MakeDir (or browsing in folders - dblClick in treeview) seems to resolve only in a "Connection Timeout expired - error."

When I connect with FileZilla to the same environment with the same credentials it all works fine?

I'm using the SecureBridge - SSH Client Application.

Can you please advise?

Re: Demo Error

Posted: Wed 11 Jan 2017 13:47
by ViktorV
Unfortunately, we couldn't reproduce the issue on our SSHClientApp demo project. For the issue investigation, if it is possible, please give us test access to your server. Otherwise, specify the used versions of the OS and SFTP server.

Re: Demo Error

Posted: Wed 11 Jan 2017 14:21
by Freek
Thank you for you replay. Unfortunaltly I cant give out the connection details but i used the software from the latest D2007 Securebridge version.

I did however have to remove the bdsproj and dproj file from the ..\SecureBridge for RAD Studio 2007\Demos\SSHClientApp\ folder because it gave me an error:
Unanble to load project ....\\SecureBridge for RAD Studio 2007\Demos\SSHClientApp\.SSHCLient.dproj
A XML-document may only contrain one element of the highest level.

Line 2:
<Delphi.Persnomality> <source> <Source Nam
  • [20466AEE]{xmlrtl100.bpl} XMLDoc.TXMLDocument.LoadData (Line 2513, "XMLDoc.pas" + 52) + $13
    [20466700]{xmlrtl100.bpl} XMLDoc.TXMLDocument.SetActive (Line 2437, "XMLDoc.pas" + 13) + $7
    [209DA30B]{coreide100.bpl} ProjectFileUtils.MSBuildLoadProjectDocument (Line 888, "ProjectFileUtils.pas" + 9) + $9
    [209DA421]{coreide100.bpl} ProjectFileUtils.MSBuildLoadProjectFile (Line 908, "ProjectFileUtils.pas" + 8) + $10
    [209DA52B]{coreide100.bpl} ProjectFileUtils.MSBuildLoadProjectFile (Line 929, "ProjectFileUtils.pas" + 29) + $9
    [209DA668]{coreide100.bpl} ProjectFileUtils.MSBuildLoadProjectFile (Line 948, "ProjectFileUtils.pas" + 48) + $10
    [21681CDC]{delphicoreide100.bpl} BaseDelphiProject.CheckAndOpenUpgradedProject (Line 476, "BaseDelphiProject.pas" + 6) + $19
    [21D04801]{delphide100.bpl} DelphiProject.TDelphiProjectCreationTrait.OpenProject (Line 310, "DelphiProject.pas" + 1) + $3
    [209DA028]{coreide100.bpl} ProjectFileUtils.LoadProjectFile (Line 856, "ProjectFileUtils.pas" + 30) + $13
    [209DA085]{coreide100.bpl} ProjectFileUtils.LoadProjectFile (Line 863, "ProjectFileUtils.pas" + 37) + $9
    [209DA11A]{coreide100.bpl} ProjectFileUtils.LoadProjectFile (Line 871, "ProjectFileUtils.pas" + 45) + $10
    [209E776E]{coreide100.bpl} ProjectModule.TModuleHandler.FileOpen (Line 2349, "ProjectModule.pas" + 1) + $B
    [20A62676]{coreide100.bpl} DocModul.TFileOpenHandler.FileOpen (Line 3091, "DocModul.pas" + 1) + $A
    [20A5D95C]{coreide100.bpl} DocModul.TFilterList.OpenFile (Line 786, "DocModul.pas" + 35) + $14
    [00414E7D]{bds.exe } AppMain.TAppBuilder.FileOpenDialog (Line 2338, "ui\AppMain.pas" + 38) + $13
    [004150F7]{bds.exe } AppMain.TAppBuilder.FileOpen (Line 2382, "ui\AppMain.pas" + 3) + $4
    [2004018B]{rtl100.bpl } Classes.TBasicAction.Execute (Line 11081, "common\Classes.pas" + 3) + $7
    [20151359]{vcl100.bpl } ActnList.TContainedAction.Execute (Line 388, "ActnList.pas" + 1) + $2C
    [201520BC]{vcl100.bpl } ActnList.TCustomAction.Execute (Line 1000, "ActnList.pas" + 7) + $8
    [20040057]{rtl100.bpl } Classes.TBasicActionLink.Execute (Line 11010, "common\Classes.pas" + 2) + $7
    [2013CA15]{vcl100.bpl } Controls.TControl.Click (Line 5227, "Controls.pas" + 7) + $7
    [2019BCF0]{vcl100.bpl } ComCtrls.TToolButton.Click (Line 17003, "ComCtrls.pas" + 0) + $0
    [2013CEA7]{vcl100.bpl } Controls.TControl.WMLButtonUp (Line 5365, "Controls.pas" + 6) + $3E
    [2013C527]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
    [2013C1B4]{vcl100.bpl } Controls.TControl.Perform (Line 5021, "Controls.pas" + 5) + $C
    [2013FEC6]{vcl100.bpl } Controls.GetControlAtPos (Line 7095, "Controls.pas" + 4) + $73
    [2013FF8E]{vcl100.bpl } Controls.TWinControl.ControlAtPos (Line 7118, "Controls.pas" + 13) + $E
    [2013C1B4]{vcl100.bpl } Controls.TControl.Perform (Line 5021, "Controls.pas" + 5) + $C
    [20140199]{vcl100.bpl } Controls.TWinControl.IsControlMouseMsg (Line 7182, "Controls.pas" + 15) + $1F
    [20140561]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7269, "Controls.pas" + 76) + $6
    [2019DD33]{vcl100.bpl } ComCtrls.TToolBar.UpdateButtonState (Line 18148, "ComCtrls.pas" + 5) + $1C
    [2019DD76]{vcl100.bpl } ComCtrls.TToolBar.UpdateButtonStates (Line 18158, "ComCtrls.pas" + 3) + $4
    [201A06A9]{vcl100.bpl } ComCtrls.TToolBar.WndProc (Line 19588, "ComCtrls.pas" + 80) + $6
    [2013FDD0]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
    [20040E4C]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
    [2004A2EA]{rtl100.bpl } Contnrs.TObjectList.GetItem (Line 295, "common\Contnrs.pas" + 1) + $4
    [201625F0]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105, "Forms.pas" + 23) + $1
    [2016262A]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124, "Forms.pas" + 1) + $4
    [2016291F]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" + 20) + $3
    (00005146){IDEFixPack.dll} [034E6146]
    [0042297A]{bds.exe } bds.bds (Line 195, "" + 7) + $7
Loading in the SSHClient.dpr does the trick. This will recreate de *.dproj file.

Settings
Password Authentication = enabled
Server
Port = 22
User & Password
Log = enabled
Start with SSH = enabled

Security - default settings
TCP = enabled

Port forwarding - default settings

SFTP Options - Default settings = vSFTP3

On Connection
The authenticity of server can not be verified"
Fingerprint for the key recieved from server: ......
Keylength: 2048 bits
Are you sure ... OK

I now see the root but when I try something (Make Dir / Upload / Download) I get the connection timeout expired error.

Environment:
Windows 10
Delphi 2007 Win32 R2 Version 11.0.2902.10471
SecureBridge 7.2 for RAD Studio 2007

Hopefully this information shed some light.

Re: Demo Error

Posted: Wed 11 Jan 2017 14:59
by ViktorV
To solve the problem, please use the following guidelines:
- increase the TScSSHClient.Timeout value;
- set the ScSFTPClient.Version property to vSFTP5 or vSFTP6.
If this does not help in solving the problem, please try to give us temporary access to your SFTP server. To do this, you can send the required data to viktorv*devart*com.

Re: Demo Error

Posted: Thu 12 Jan 2017 07:35
by Freek
Thank you for your suggestions however they did not do the trick.
Since I'm using a customers sFTP connection I can't share that info.

Re: Demo Error

Posted: Thu 12 Jan 2017 10:05
by ViktorV
Please specify the used version of the SFTP server.