Indy FTP List works on Ubuntu Mate but it fails if I cross compile the same code and test it on WinXP. That should not be the problem of the WinXP because I can access the FTP using Firefox on the WinXP.
What is the actual error that
TIdFTP.List() is raising? You are catching the exception, but you are discarding it and not displaying any of its details, like its
ClassType or its
Message. Same with
TIdFTP.Connect().
Have you tried sniffing the network traffic to compare what is different between Firefox's FTP commands vs
TIdFTP's commands?
Does Internet Direct not support WinXP?
Yes, it does. Windows it the primary OS that Indy is developed on, so everything should be working fine on Windows. But this does not sound like an OS-based issue.
Note that data transfers in the FTP protocol use a secondary TCP connection, and default to Active mode (
TIdFTP.Passive=False) where the FTP server creates an outgoing connection to the FTP client. That is not very friendly to firewalls/NATs, and requires port forwarding be configured on NATs. Try using Passive mode instead (
TIdFTP.Passive=True) where the FTP client creates an outbound connection to the FTP server instead. That usually works better.