无法连接到ftp服务器

时间:2011-05-05 06:51:51

标签: ftp connection powerbuilder

我正在尝试使用windows api函数通过powerbuilder应用程序连接到ftp服务器。我设法通过Internet Explorer连接到ftp服务器(所以我不认为这是一个权限问题),但应用程序因某种未知原因而失败。

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

该函数设法从InternetOpen api函数返回句柄,但从InternetConnect函数返回0。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

好的,我发现了问题所在。我在函数声明结尾处缺少; Ansi ,如:

  

函数ulong InternetOpen(ref   string lpszAgent,ulong dwAccessType,   ref string lpszProxy,ref string   lpszProxyBypass,ulong dwFlags)   库“WININET.DLL”别名   “InternetOpenA ; Ansi

答案 1 :(得分:1)

您可以发布本地外部函数或您用于InternetAutodial()InternetOpen()等的任何内容吗?这些不是内置函数(至少不在我的Powerbuilder 11.2中),它们看起来不像PFC。此外,您使用的是什么版本的Powerbuilder。

或者,您可能希望查看以下链接: