开发者

Unable to connect to ftp server

I'm trying to connect to an ftp server through a powerbuilder application using windows api functions. I manage to connect to the ftp server through Internet Explorer (so I don't think it's a permission problem) but the application fails for some unknown reason.

String  ls_Null, &
            ls_id
Integer li_rc

li_rc = 1

IF Not InternetAutodial(AUTODIAL_FORCE_UNATTENDED, 0) THEN
    f_write_to_err_log('IMPORT Unable To Connect Internet - Dialup')
    li_rc = -1
ELSE
    SetNull(ls_Null)
    ls_id = "Care_Dsend"
    al_internet_handle = InternetOpen(ls_id, INTERNET_OPEN_TYPE_DIRECT, ls_Null, ls_Null, 0)        

    IF al_internet_handle > 0 THEN
        al_ftp_connect_handle = InternetConnect(al_internet_handle, is_ftp_url, il_ftp_port, is_ftp_user, is_ftp_password, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, al_ref) 
    END IF
END IF

Return li_rc


//al_internet_handle, al_ftp_connect_handle are by ref long parms
//al_ref is a by ref unsignedlong parm
//is_ftp_url, is_ftp_user, is_ftp_password are strings
//il_ftp_port is long

The function manages to return a handle from the InternetOpen api function, but returns 0 from the InternetConnect function.

A开发者_如何学Gony ideas?


Ok, I found out what the problem was. I was missing ;Ansi at the end of my function declaration as in :

Function ulong InternetOpen (ref string lpszAgent, ulong dwAccessType, ref string lpszProxy, ref string lpszProxyBypass, ulong dwFlags) Library "WININET.DLL" Alias for "InternetOpenA ;Ansi"


Can you post your Local External Functions or whatever you are using for InternetAutodial(), InternetOpen() etc? Those are not built-in functions (at least not in my Powerbuilder 11.2) and they don't look like PFC. Also, what version of Powerbuilder are you using.

Alternatively, you might want to look at these links:

  • Upload a file using FTP - Real's Powerbuilder HowTo (also uses a windows batch file)
  • Internet services example - PFC guide (uses PFC)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜