Hopefully this hasn't been posted already.
Two problems have been observed with FTP in NetTalk 6.18 and Clarion version 8.0.8973. The first is that ChangeDir does not change to a new directory if the server is changed, even after a Quit command. Here are the steps to reproduce the problem:
1. Using Clarion, open up FTP.app, the example application that came with NetTalk. (The attached application, which has modifications, can also be used.)
2. Compile the application.
3. Start the executable.
4. Enter in the values, given below, for accessing the HP server. (If using the attached app, click the “Site 1” button.)
5. Click the “Get Files” button.
6. In a flash, the “All done” string will appear.
7. Change all of the parameters to the Microsoft values given below. (If using the attached app, click the “Site 2” button.)
8. Click the “Get Files” button.
9. An error message appears that says “The connection to the FTP Server could not be opened” and the error number is -53.
10. Exit the program.
11. Start the program again.
12. The previous values for Microsoft are still there.
13. Click the “Get Files” button.
14. The “All done” string appears.
It is clear that the problem is in the attempt to access the second site without exiting. If one gets files and exits, things work just fine. If multiple server changes are made in the same session, it fails.
If logging is turned on, the DebugView log shows that, in this case, a connection to Microsoft is made. However, it is being sent [CWD /ftp1/] instead of [CWD /Products/mediaplayer/] hence the failure.
FTPServer = ftp.hp.com
UserName = anonymous
Password = anonymous@hotmail.com
Dir = /ftp1/
FTPServer = ftp.microsoft.com
UserName = anonymous
Password = anonymous@hotmail.com
Dir = /Products/mediaplayer/
The second problem may be an extension of the first. If one tries to access the servers at timed intervals, in a timer loop, it appears to have trouble closing the first port and eventually the program stops responding. The message in the log that is repeated multiple times is:
[Net] [1] NetFTPClientControl._CallDone - Done Called for command = quit, _waitingForComplete set back to 0
Here are the steps to reproduce the problem:
1. Create an executable from the attached application.
2. Start the executable.
3. Change the timer value as needed (100 = 1 second).
4. Click the “Site 1” button to fill in the values and get things started.
5. Click the “Get All” button.
6. After the timer begins, the status message shows up that the first site is done. Moments later, a Windows error message appears.