Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| KGF_dll - nouvelles versions | |
|
+8JL35 Marc papydall Jicehel Yannick pascal10000 Minibug Klaus 12 participants | |
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 22 Fév 2016 - 16:09 | |
| C'est simple: - Code:
-
dim sep$ : sep$ = chr$(13)+chr$(10) dim UserText$ UserText$ = "aaaa"+sep$+str$(width(17))+sep$+"bbbb"+... Cet exemple montre le début du codage pour 3 paramètres. Les valeurs sont évidemment bidons, c'est le principe qui compte. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Lun 22 Fév 2016 - 16:17 | |
| Ah ok le retour chariot ! Donc le connais effectivement. Je vais étudier cela. Merci Klaus | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Lun 22 Fév 2016 - 21:03 | |
| Klaus, j'ai encore un probleme ! Je reprends l'exemple que tu as mis pour l'objet DESIGNER et cela provoque des acces violation et me donne dans certains cas un message instruction privilégiée lors du déplacement d'un objet selectionné. Pourrais tu regarder s'il te plais. Merci. J'ai utilisé le code suivant repris sur le forum : - Code:
-
' test_DesignDrag.bas
label click, fin, CT, desel, chg
dim res%, parent%, n%, s$, selmode%
full_space 0 : width 0,width(0) - 200 button 1 : width 1,100 : caption 1,"Container_tab" : on_click 1,CT button 2 : width 2,100 : caption 2,"Stop" : on_click 2,fin : left 2,100 combo 3 : width 3,150 : left 3,210 item_add 3,"Cadre intérieur" item_add 3,"Cadre extérieur" combo 4 : width 4,150 : left 4,370 : on_click 4,chg item_add 4,"Un objet seul" item_add 4,"Sélection d'objets"
' les 3 objets suivants pourront être déplacés et/ou redimensionnés memo 10 : top 10,40 : on_click 10,click alpha 11 : top 11,40 : left 11,200 : caption 11,"Libellé" : on_click 11,click button 12 : top 12,70 : left 12,200 : caption 12,"Test" : on_click 12,click
container 30 : top 30,150 : left 30,10 : caption 30,"Mon container" width 30,300 : height 30,200 : on_click 30,click list 31 : parent 31,30 : top 31,20 : left 31,10 : on_click 31,click item_add 31,"Cliquer ici"
container_tab 40 : top 40,40 : left 40,320 : width 40,400 : height 40,300 tab 41 : parent 41,40 : caption 41,"Premier onglet" tab 42 : parent 42,40 : caption 42,"Deuxième onglet" tab 43 : parent 43,40 : caption 43,"Troisième onglet"
alpha 44 : parent 44,41 : top 44,20 : left 44,20 : caption 44,"AAAA" : on_click 44,click alpha 45 : parent 45,42 : top 45,20 : left 45,20 : caption 45,"BBBB" : on_click 45,click alpha 46 : parent 46,43 : top 46,20 : left 46,20 : caption 46,"CCCC" : on_click 46,click
form 100 : left 100,width(0)+1 : height 100,height(0) : width 100,200 caption 100,"Objets sélectionnés" list 101 : parent 101,100 : full_space 101 : on_click 101,desel
dll_on "KGF.dll" res% = dll_call2("SelectComboBoxItem",handle(3),2) res% = dll_call2("SelectComboBoxItem",handle(4),1) selmode% = item_index(4) end
CT: parent% = object_parent(40) select item_index(4) case 1: res% = dll_call3("RegisterObjectForDesigner",handle(parent%),object_internal(40), item_index(3)-1) case 2: res% = dll_call4("DesignerFunction",1,handle(parent%),object_internal(40), item_index(3)-1) end_select res% = dll_call4("DesignerFunction",3,handle(101),0,0) return
click: parent% = object_parent(number_click) select item_index(4) case 1: res% = dll_call3("RegisterObjectForDesigner",handle(parent%),object_internal(number_click),item_index(3)-1) case 2: res% = dll_call4("DesignerFunction",1,handle(parent%),object_internal(number_click),item_index(3)-1) end_select res% = dll_call4("DesignerFunction",3,handle(101),0,0) return
fin: select item_index(4) case 1: res% = dll_call0("UnregisterObjectFromDesigner") : ' libérer l'objet capturé case 2: res% = dll_call4("DesignerFunction",0,0,0,0) end_select res% = dll_call4("DesignerFunction",3,handle(101),0,0) return
desel: s$ = item_read$(101,item_index(101)) n% = val(s$) res% = dll_call4("DesignerFunction",2,handle(parent%),n%,0) res% = dll_call4("DesignerFunction",3,handle(101),0,0) return
chg: select selmode% case 1: res% = dll_call0("UnregisterObjectFromDesigner") : ' libérer l'objet capturé case 2: res% = dll_call4("DesignerFunction",0,0,0,0) end_select res% = dll_call4("DesignerFunction",3,handle(101),0,0) selmode% = item_index(4) return | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 22 Fév 2016 - 21:21 | |
| Je vois. Je vais regarder ça. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Mar 23 Fév 2016 - 13:22 | |
| Bonjour Klaus !
Petite info complémentaire :
Sur GPP, lorsque j'active la fonction du DESIGNER avec la selection de l'objet j'ai bien le cadre de sélection qui s'affiche, mais dès que je clique de nouveau pour le déplacement ou l'agrandissement, l'objet se désélectionne...
Tout cela s'opére avec la dernière version de KGF.
Est ce un probléme dans mon programme ou dans la DLL ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 23 Fév 2016 - 17:42 | |
| Je constate la même chose. C'est un problème dans la DLL - ça n'a rien à voir avec ton programme. J'ai l'impression que Jack a changé la version de son outil de génération de Panoramic, et certaines choses ne sont plus compatibles avec ce que je fais dans la DLL. Je suis en train de pister cela, mais c'est compliqué. Patience... | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Mar 23 Fév 2016 - 17:59 | |
| Ok Klaus ! Pas de problèmes. J'étais juste inquiet de t'avoir envoyé sur une fausse piste a cause d'une erreur dans GPP. J'avais vraiment un doute... Pour le reste pas de problèmes, prends ton temps. Si je décide de modifier le système de gestions des propriétés, j'en ai encore pour un bon moment car là je vais mettre tout GPP sans dessus dessous mais bon, même pas peur... J'ai déjà fais pire il y a quelques mois, alors un peu plus ou un peu moins, je risque plus rien. Et puis maintenant j'ai l'habitude de toujours tout transformer tout le temps... En même temps ça devient de plus en plus simple alors. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 24 Fév 2016 - 19:12 | |
| Question à deux balles qui a du déjà être posé quelque part dans le forum. Y' a t il une limite de taille pour les images d' un ImageList ?... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 24 Fév 2016 - 19:24 | |
| Pas de limites de principe. Mais une limite technique, claire: à tout moment, une image individuellle doit tenir intégralement en mémoire. Sachant que chaque pixel est codé sur 24 bits (3 octets), tu peux imaginer ce que représenterait une image de 12.000 x 8.000 pixels...
L'objet ImageList est destiné à contenir une collection de petites images, utilisées fréquemment. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 24 Fév 2016 - 19:33 | |
| Ok Klaus.
Je demande car je me fais un petit outils de création d' imagelist. Celui ci me créera un fichier *.inf du même nom contenant les noms des images intégrées et leurs dimensions (au bout d' un certain temps, bonjour pour savoir ce qu' il y a dans une librairie). Je voulais mettre une fonction preview d' une image mais sans trop me casser la tête. Si la taille des images de la librairie est supérieure à 100x100, l' image sera extraite et ouverte dans l' éditeur d' image par défaut. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 24 Fév 2016 - 23:24 | |
| Tu sais, si tu fais stretch_on si les dimensions de l'image dépassent la limite que tu as suggérée, tu auras toujours un "preview" correct... Mais n'oublie pas que, dans un objet ImageView, toutes les images doiv ent avoir les mêmes dimensions - celles données à la création du ImageView. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 25 Fév 2016 - 10:29 | |
| Oui Klaus, je demande les dimensions à la création. Je "delete" l' imagelist en sortie. Et en ouverture, je récupère les dimensions depuis le fichier *.inf créé en parallèle. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 25 Fév 2016 - 11:20 | |
| Pour harmoniser des images par rapport aux dimensions imposées par ImageList, tu as des fonctions de gestion d'image dans KGF.dll qui agissent sur une image dans le presse-papier. Tu peux, par exemple, récupérer les dimensions réelles de l'image dans le presse-papier (tu la charges dans un picture par file_load, puis dans le presse-papier par clipboard_copy). Ce sont les fonctions GetClipboardPictureWidth et GetClipboardPictureHeight. Et tu peux redimensionner l'image du presse-papier par ResizePicture, en donnant hauteur et largeur souhaitée. Ensuite, tu la charges dans la ImageList par AddImageToImageList, en mettant 0 (zéro) à la place du nom de fichier, et l'image du presse-papier est utilisée. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Jeu 25 Fév 2016 - 18:31 | |
| Bonjour Klaus, Dans l'état actuel des choses, crois tu pouvoir contourner le problème concernant les fonctions DESIGNER ou bien crois tu qu'il faille attendre de nouvelles version de Panoramic ? Si la solution réside dans le second cas, je vais tenter de remettre en oeuvre le mode de sélection des objets que j'utilisais avant. Merci d'avance pour ta réponse Klaus. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 25 Fév 2016 - 18:47 | |
| C'est fait ! Cette fois, c'était vraiment compliqué. J'ai bien cru ne pas y arriver. J'ai dû redéfinir l'interface des fonction RegisterObjectForDesigner et DesignerFunction, mais c'est fait. Le fichier d'aide vient d'être généré. Je fais la distribution et je signale la nouvelle version... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 25 Fév 2016 - 18:59 | |
| KGF.dll V6.04 du 25/02/2016Nouveautés: - StringList: correction d'un bug en mémorisation des Textes - Designer: correction d'un bug introduit par la version V0.9.27i5 de Panoramic (impossible d'accéder aux propriétés de géométrie d'un objet passé par OBJECT_INTERNAL)Modules modifiés: KGF.dll KGF.dllLa doc et les sources sont à jour. Pour StringList, c'est en fait le même problème que pour TreeView. Pour Designer, la gestion de la géométrie du ou des objets sélectionnés a été confiée au programma Panoramic, via un MEMO recevant les évènements à gérer. Voici le programme de démo, adapté à cette version. On peut choisir si le cadre de sélection soit positionné à l'intérieur ou à l'extérieur de l'objet sélectionné, et si l'on veut travailler en mono-sélection (défaut) ou en multi-sélection. Dans ce dernier cas, il faut maintenir la touche Control en cliquant sur tout objet à ajouter à la sélection existante: - Code:
-
' pb_designer.bas
label click, fin, CT, desel, chg, change
dim res%, parent%, n%, s$, selmode%, p%, obj%, i%
full_space 0 : width 0,width(0) - 200 button 1 : width 1,100 : caption 1,"Container_tab" : on_click 1,CT button 2 : width 2,100 : caption 2,"Stop" : on_click 2,fin : left 2,100 combo 3 : width 3,150 : left 3,210 item_add 3,"Cadre intérieur" item_add 3,"Cadre extérieur" combo 4 : width 4,150 : left 4,370 : on_click 4,chg item_add 4,"Un objet seul" item_add 4,"Sélection d'objets"
' les 3 objets suivants pourront être déplacés et/ou redimensionnés memo 10 : top 10,40 : on_click 10,click alpha 11 : top 11,40 : left 11,200 : caption 11,"Libellé" : on_click 11,click button 12 : top 12,70 : left 12,200 : caption 12,"Test" : on_click 12,click
container 30 : top 30,150 : left 30,10 : caption 30,"Mon container" width 30,300 : height 30,200 : on_click 30,click list 31 : parent 31,30 : top 31,20 : left 31,10 : on_click 31,click item_add 31,"Cliquer ici"
container_tab 40 : top 40,40 : left 40,320 : width 40,400 : height 40,300 tab 41 : parent 41,40 : caption 41,"Premier onglet" tab 42 : parent 42,40 : caption 42,"Deuxième onglet" tab 43 : parent 43,40 : caption 43,"Troisième onglet"
alpha 44 : parent 44,41 : top 44,20 : left 44,20 : caption 44,"AAAA" : on_click 44,click alpha 45 : parent 45,42 : top 45,20 : left 45,20 : caption 45,"BBBB" : on_click 45,click alpha 46 : parent 46,43 : top 46,20 : left 46,20 : caption 46,"CCCC" : on_click 46,click
form 100 : left 100,width(0)+1 : height 100,height(0) : width 100,200 caption 100,"Objets sélectionnés" list 101 : parent 101,100 : full_space 101 : on_click 101,desel memo 102 : top 102,400 : left 102,20 : width 102,300 : height 102,100 bar_both 102 on_change 102,change : ' hide 102
dll_on "KGF.dll" res% = dll_call2("SelectComboBoxItem",handle(3),2) res% = dll_call2("SelectComboBoxItem",handle(4),1) selmode% = item_index(4)
end memo 177 : full_space 177 : bar_both 177 left 12,1234 top 12,2345 width 12,432 height 12,321 res% = dll_call3("DumpPanoramic",handle(177),object_internal(12),150)
end
change: for i%=1 to count(102) s$ = trim$(item_read$(102,i%)) if s$="" then return p% = instr(s$,",") obj% = val(left$(s$,p%-1)) s$ = mid$(s$,p%+1,100) p% = instr(s$,",") left obj%,val(left$(s$,p%-1)) s$ = mid$(s$,p%+1,100) p% = instr(s$,",") top obj%,val(left$(s$,p%-1)) s$ = mid$(s$,p%+1,100) p% = instr(s$,",") width obj%,val(left$(s$,p%-1)) s$ = mid$(s$,p%+1,100) height obj%,val(s$) next i% return
CT: obj% = 40 parent% = object_parent(40) select item_index(4) case 1: res% = dll_call5("RegisterObjectForDesigner",40,handle(parent%),handle(102),object_internal(40), item_index(3)-1) case 2: res% = dll_call6("DesignerFunction",1,40,handle(parent%),handle(102),object_internal(40), item_index(3)-1) end_select res% = dll_call6("DesignerFunction",3,40,handle(101),handle(102),0,0) return
click: ' res% = dll_call1("TestKGF",object_internal(number_click)) ' return
obj% = number_click parent% = object_parent(obj%) select item_index(4) case 1: res% = dll_call5("RegisterObjectForDesigner",obj%,handle(parent%),handle(102),object_internal(obj%),item_index(3)-1) case 2: res% = dll_call6("DesignerFunction",1,obj%,handle(parent%),handle(102),object_internal(obj%),item_index(3)-1) end_select res% = dll_call6("DesignerFunction",3,obj%,handle(101),handle(102),0,0) return
fin: select item_index(4) case 1: res% = dll_call0("UnregisterObjectFromDesigner") : ' libérer l'objet capturé case 2: res% = dll_call6("DesignerFunction",0,0,0,0,0,0) end_select res% = dll_call6("DesignerFunction",3,obj%,handle(101),handle(102),0,0) return
desel: s$ = item_read$(101,item_index(101)) n% = val(s$) res% = dll_call6("DesignerFunction",2,obj%,handle(parent%),handle(102),n%,0) res% = dll_call6("DesignerFunction",3,obj%,handle(101),handle(102),0,0) return
chg: select selmode% case 1: res% = dll_call0("UnregisterObjectFromDesigner") : ' libérer l'objet capturé case 2: res% = dll_call6("DesignerFunction",0,0,0,0,0,0) end_select res% = dll_call6("DesignerFunction",3,obj%,handle(101),handle(102),0,0) selmode% = item_index(4) return | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Jeu 25 Fév 2016 - 19:42 | |
| Merci Klaus ! - Citation :
- C'est fait ! Cette fois, c'était vraiment compliqué. J'ai bien cru ne pas y arriver.
Je ne m'attendais pas a avoir la solution si vite... Je n'ai plus qu'a me remettre dans la doc de KGF et reconfigurer tout cela. Ensuite je passerai toutes les variables des propriétés des objets dans le TREEVIEW avec mise en place de sauvegarde et chargement par TREEVIEW aussi. J'ai hâte de mettre tout cela en place et livrer cette nouvelle version. Je suis presque sûr qu'avec toutes ces améliorations, nous allons faire l'unanimité ! (Du moins j’espère... ) Encore un grand MERCI Klaus. Tu es le Roi ! Quand je dis que tu nous ouvre de nouveau horizons, ce n'est vraiment pas une exagération ! | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Jeu 25 Fév 2016 - 20:50 | |
| Klaus, je crois qu'il y a une erreur sur la doc concernant :
res% = dll_call0("UnregisterObjectFromDesigner")
qui est présenté dans la doc a différents endroits comme :
res% = dll_call0("UnregisterObjecDesigner") | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 25 Fév 2016 - 21:02 | |
| Tu as raison. Je vais corriger cela.
EDIT
La doc est corrigée. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 25 Fév 2016 - 23:55 | |
| Des soucis avec TreeView...
j' ai un truc bizarre avec l' image du noeud 0 pas d' image et l' image simple lors de la selection
puis :
PAR$ = string$(200," ") NIV% = dll_call3("GetTreeViewInformation",TV%,4,adr(PAR$)) PAR$ = trim$(PAR$)
me renvoie toujours l' intitulé du noeud 0 mais pas le chemin
je mets le dossier sur mon webdav (ILC_vs2.zip), si tu as le temps de jeter un oeil pour mieux voir les bugs. dans ce programme, qui en est au tout début, l' arborescence est artificielle pour voir comment me servir des fonctions. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 26 Fév 2016 - 0:45 | |
| | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 26 Fév 2016 - 0:51 | |
| J' ai un truc plus bizarre encore... - Code:
-
sub RecupTreeViewInfos() dim_local res% ' ->infos TVinfo$ = text$(TVreceiver%) ' ->indice de l' élément sélectionné IND% = dll_call3("GetTreeViewInformation",TV%,1,0) ' ->nom du noeud sélectionné NODENAME$ = string$(200," ") res% = dll_call3("GetTreeViewInformation",TV%,2,adr(NODENAME$)) NODENAME$ = trim$(NODENAME$) ' ->niveau et chemin CHEM$ = string$(200," ") NIV% = dll_call3("GetTreeViewInformation",TV%,4,adr(CHEM$)) CHEM$ = trim$(CHEM$) ' -nombre d' enfant du noeud NBCHILD% = dll_call3("GetTreeViewInformation",TV%,6,0) MES$ = "Indice : "+str$(IND%)+chr$(13) MES$ = MES$ + "Nom du noeud : "+NODENAME$+chr$(13) MES$ = MES$ + "Niveau du noeud : "+str$(NIV%)+chr$(13) MES$ = MES$ + "Chemin du noeud : "+CHEM$+chr$(13) MES$ = MES$ + "Nombre de noeuds enfants : "+str$(NBCHILD%) end_sub Cette sub est appelé lors d' un "change" sur l' "edit" associé au "treeview" je n' ai le nombre d' enfant que si je clique sur le noeud 0 et sur les autres, c' est le plus drôle, la ligne disparait du message, même mon texte "Nombre de noeuds enfants" Edit : Pour l' icone, l' image, c' était du à processus qui tournait encore. mais le reste.... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 26 Fév 2016 - 1:10 | |
| J'ai trouvé. Le problème vient de ton fichier ARBO.inf qui indique "pas d'icône de base" (état non sélectionné"): - Citation :
- 0
0,0,-1,0 Librairies #END
C'est le "-1" que tu vois. Supprime le fichier et tout marchera bien. Puis, fais une sauvegarde avec le contenu correct tel qu'il s'affiche, et le tour sera joué. Moi, j'obtiens: | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 26 Fév 2016 - 1:17 | |
| Ok klaus
J' ai actualisé le zip avec une sub de recup des infos du treeview mais j' ai des soucis avec la 4 et 6 de GetTreeViewInformation.
j' ai détaillé dans le post précédent. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 26 Fév 2016 - 1:39 | |
| Tu as mis le doigt sur un bug dans GetTreeViewInformation ! La chaîne retournée peut contenir des caractères chr$(0) ce qui n'a aucun sens. Et pour Panoramic, ça s'arrête là... Provisoirement, contourne le problème de la manière suivante: - Code:
-
sub RecupTreeViewInfos() dim_local res%, z$ ' ->infos TVinfo$ = text$(TVreceiver%) ' ->indice de l' élément sélectionné IND% = dll_call3("GetTreeViewInformation",TV%,1,0) ' ->nom du noeud sélectionné NODENAME$ = string$(200," ") RES% = dll_call3("GetTreeViewInformation",TV%,2,adr(NODENAME$)) NODENAME$ = trim$(NODENAME$) ' ->niveau et chemin CHEM$ = string$(200," ") NIV% = dll_call3("GetTreeViewInformation",TV%,4,adr(CHEM$)) CHEM$ = trim$(CHEM$) ' -nombre d' enfant du noeud NBCHILD% = dll_call3("GetTreeViewInformation",TV%,6,0) MES$ = "Indice : "+str$(IND%)+chr$(13) MES$ = MES$ + "Nom du noeud : "+NODENAME$+chr$(13)+chr$(10) MES$ = MES$ + "Niveau du noeud : "+str$(NIV%)+chr$(13)+chr$(10) MES$ = MES$ + "Chemin du noeud : "+CHEM$+chr$(13)+chr$(10) MES$ = MES$ + "Nombre de noeuds enfants : "+str$(NBCHILD%) z$ = chr$(0) res% = instr(MES$,z$) while res%>0 MES$ = left$(MES$,res%-1) + mid$(MES$,res%+1,len(MES$)) res% = instr(MES$,z$) end_while end_sub et demain, il y aura la correction du bug ! | |
| | | Contenu sponsorisé
| Sujet: Re: KGF_dll - nouvelles versions | |
| |
| | | | KGF_dll - nouvelles versions | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |