3 votes

Impossible de se connecter au serveur ftp

J'essaie de me connecter à un serveur ftp à travers une application powerbuilder en utilisant les fonctions api de Windows. Je parviens à me connecter au serveur ftp via Internet Explorer (je ne pense donc pas qu'il s'agisse d'un problème de permission) mais l'application échoue pour une raison inconnue.

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

La fonction parvient à renvoyer un handle depuis la fonction api InternetOpen, mais renvoie 0 depuis la fonction InternetConnect.

Des idées ?

2voto

Guy Points 185

Ok, j'ai trouvé quel était le problème. Il me manquait ;Ansi à la fin de ma déclaration de fonction comme dans :

Fonction ulong InternetOpen (ref string lpszAgent, ulong dwAccessType, ref string lpszProxy, ref string lpszProxyBypass, ulong dwFlags) Bibliothèque "WININET.DLL" Alias pour "InternetOpenA ;Ansi "

1voto

Colin Pickard Points 23922

Pouvez-vous afficher vos Fonctions Externes Locales ou tout ce que vous utilisez pour InternetAutodial() , InternetOpen() etc. Ce ne sont pas des fonctions intégrées (du moins pas dans mon Powerbuilder 11.2) et elles ne ressemblent pas à des PFC. Par ailleurs, quelle version de Powerbuilder utilisez-vous ?

Vous pouvez également consulter ces liens :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X