Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Je reprends mes essais de manipulation ftp avec l'objet non visuel basé sur n_wininet.
erazorz m'avait été d'un gand secours.
j'ai un souci avec la fonction of_ftp_directory. Elle demande en paramètre une variable (by ref) basée sur la structure s_ftpdirlist .
Or, cette structure existe à l'intérieur du nvo nv_ftp, alors comment lui passer ce paramètre, pour récupérer la liste des fichiers du répertoire courant ?
Mais peut-être ai-je déclaré cette struture au mauvais endroit ?
merci de votre aide.
Dernière modification par frichmout (28-10-2008 17:15:46)
Hors ligne
ta structure s_ftpdirlist existe sinon n_wininet ne compilerait pas
le scope est global, comme toutes les structures déclarées en PB
en fait la fonction of_ftp_directory prend en argument un tableau de s_ftpdirlist:
public function integer of_ftp_directory (ref s_ftpdirlist astr_dirlist[])
voici un petit exemple de code d'appel :
Integer li_count, li_cpt String ls_filename s_ftpdirlist lstr_tab_ftpdirlist[] n_wininet lnv_wininet // on suppose la connexion FTP déjà établie avec lnv_wininet... // récup des fichiers présents li_count = lnv_wininet.of_ftp_directory( lstr_tab_ftpdirlist ) If li_count < 1 Then // pas de fichiers... Else // ok : boucle sur les fichiers For li_cpt = 1 To li_count ls_filename = lstr_tab_ftpdirlist[ li_cpt ].s_filename // traitement... MessageBox( 'Fichier ' + String( li_cpt ), ls_filename ) Next End If
Hors ligne
tout d'abord merci !
J'ai copié ton code et il ne compile pas. Il ne reconnait pas s_ftpdirlist
Je pense que ça vient de la structure. Chez moi, au moment où j'avais simporté le source de n_wininet, j'avais rajouté dedans la définition de la structure. J'ai donc, dans le code de l'objet, 4 structures :
filetime
win32_find_data
systemtime
et
s_ftpdirlist.
Cette structure ne semble pas être utilisable en dehors de l'objet lui-même, contrairement à d'autres structures comme toutes celles de Powertool (j'utilise ce bon vieux framework). Vois-tu ce que je veux dire ?
Vois tu comment je peux m'en sortir ?
Hors ligne
erasorz, j'ai trouvé. J'ai mis le code de création de la structure dans un fichier, je l'ai importé dans la pbl.
Ensuite, j'ai viré la création de la structure dans l'objet, et tout est rentré dans l'ordre. J'ai un peu galéré car il y avait en plus une référence à cette structure comme interne à l'objet dans les premières lignes de l'objet. Mais maintenant, c'est bon, je récupère bien tous le sfichiers du répertoire.
Merci encore pour ton aide.
Hors ligne
N'oublie pas le petit [RESOLU]
Hors ligne