Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
J'ai une nouvelle fois besoin de votre aide.
Je vous explique le problème :
J'ouvre actuellement un répertoire à l'aide de la commande suivante :
"run("explorer.exe " + MonRépertoire)
Le soucis est que les utilisateurs peuvent se ballader comme ils le veulent dans les répertoires précédents.
J'ai donc pensé à utilisé l'ole microsoft web browser :
ole.object.navigate(MonRépertoire)
Mais, quand on double clique sur un répertoire, ca ouvre une nouvelle fenetre de l'explorer...Et ca, c'est pas biennnn !! Il faudrait que ca reste dans l'ole et que ca ouvre le répertoire dedans.
J'ai essayé de chercher sur le net mais rien trouvé, ou rien compris car les ole et moi...ca fait 15
Merci pour votre aide.
P.S : j'utilise PB 6.5 et je n'ai rien installé pour l'ole (en fait, j'ai récupéré la fenetre sur une ancienne appli que nous avions et j'ai fait un import)
P.S 2 : J'ai essayé sur un serveur de tests que nous avons et là...L'ancienne appli fonctionne comme je veux (ouverture du sous répertoire dans l'ole). Mon appli plante avec ce message : "'Invalid parameter type calling external object function navigate (code 33)' à la ligne 1 de l'événement open de l'objet w_explorer"
P.S 3 : faut il installer qq chose pour avoir cet ole dans la liste des ole dispo (car actuellement, je n'ai meme pas de Microsoft Web Browser). Mais bon, si qq un a une autre solution pour me dépanner ca sera avec grand plaisir
Hors ligne
Bonjour,
Sinon, tu peux développer ta propre fenêtre en powerbuilder permettant d'afficher le contenu d'un répertoire.
Il est possible d'obtenir très facilement le contenu d'un répertoire nativement à l'aide de la méthode DirList d'un objet listbox.
Ce qui te permettra de t'affranchir de tous les problèmes de navigation liés à l'ouverture d'une fenêtre système.
Le seul bémol, je ne me rappel plus si cette fonctionnalité est disponible en 6.5.
Hors ligne
ah ok, je connaissais pas...
Béh je vais essayer de ce pas et je te dis ca.
Merci
Hors ligne
Je viens d'essayer.
J'ai placé la fonction à l'ouverture de ma fenetre et résultat : ca m'ouvre une fenetre d'explorer et pas du tout ma fenetre PB...C'est pire lol
Hors ligne
salut,
il me semble que cette methode existe dans les codes exemples de pb6.5, fournies avec l'installation de pb.
A+++
Hors ligne
Béh je n'ai rien trouvé...:-( sniff
Hors ligne
Petit exemple de code, il vaut ce qu'il vaut mais il est efficace :
//Test si répertoire A traiter est vide lb_fic.reset() lb_fic.dirlist(gs_fic_a_traiter+"\*.txt",32) this.setredraw(true) //Tant que le répertoire n'est pas vide ll_nb = lb_fic.totalItems() do while ll_nb > 0 lb_fic.SelectItem(1) //Récupération du nom de fichier à traiter ls_nom_fic = lb_fic.Text (1) ls_fic = gs_fic_a_traiter + "\" + ls_nom_fic . . .
lb_fic est un listbox
Bon courage
Hors ligne
Bonjour,
Merci d'avance
Hors ligne