Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1 2
rincevent a écrit:
Edit : Bon ben ça marche pas, j'essaye avec PB 12.0 et fastfuncs115.dll et j'obtiens une erreur "error opening dll library fastfuncs115.dll..."
C'est parce que fastfuncsXXX.dll se link avec les PBVMXXX.DLL correspondant, alors qu'avec des PBNI tu n'as pas nécessairement le problème.
Il faut compiler la DLL soit même.
Pour info j'ai une version patché des fastfuncs ici
edit: les versions précompilées sont dispo ici
Hors ligne
merci xlat
Hors ligne
merci xlat
j'avais zappé ta version des fastfuncs
Petite question con
Ta fonction call_dynamic fait la même chose que le dynamic de PB ?
J'ai essayé de remplacer
adrg_controle.dynamic of_get_ancrage_controle(lstr_ancrage)
par
call_dynamic(adrg_controle,"of_get_ancrage_controle",lstr_ancrage)
J'ai une fonction f_positionne_controle qui prend comme premier argument en référence un object adrg_controle de type dragobject (dans la pratique ce sont les contrôles des fenêtres et visualuserobjects qui sont des standard classes héritées des objets visuels de base de PB)
Cette fonction f_positionne_controle me sert à repositionner/redimensionner automatiquement les contrôles d'une fenêtre en cas de resize
Si l'objet passé en référence à la fonction f_positionne_controle n'a pas les fonctions nécessaire à son bon fonctionnement alors la fonction ne fait rien.
La fonction f_positionne contrôle est appelée dans l'event resize de ma fenêtre de base dont sont héritées toutes les fenêtres de mon application (pas la même application dont je parlais dans un autre post)
lstr_ancrage est une structure passée en référénce à la méthode of_get_ancrage_controle
Mais le logiciel reste "coincé" sur l'appel à la fonction.
J'ai essayé de mettre n'importe quoi en nom de fonction même résultat (même pas un petit plantage)
Rien de bien gênant mais quand on me donne un nouveau jouet j'aime bien le tester :D
Hors ligne
Ca fais la même chose que dynamic, sauf que tu peux en plus choisir le nom de la méthode dynamiquement.
Elle ne fonctionne pas pour choisir un event si une fonction possédée le même nom à mon avis.
Tu l'as testé sur quel version de la PBVM ? (moj 'ai du faire mes tests en 10.5 ou 11.5)
Hors ligne
Je n'ai que PB 12.5.2 installé sur mon poste de dev.
J'ai pris ta version précompilée j'aurait pensé à la compiler moi même avant de poster.
Edit: J'ai compilé sous VS 2010 pas mieux.
Bon pas grave :'(
Edit 2:
J'ai fait un test il semble que le problème viennent du fait que l'argument de la fonction soit passé en référence
Test 1: of_toto prend un string en valeur en entrée et retourne un string ça marche
Test 2: le même of_toto prend maintenant un string en référence en entrée ça coince
Dernière modification par _francois_ (15-05-2014 12:09:53)
Hors ligne
Je viens de faire un test et je reproduis du moment qu'un argument est passé par référence.
Premier rapport de bug
Hors ligne
allez au boulot !!!
Un jour quand je serai grand, j'apprendrai le C++ et moi aussi je fera du beau PBNI
Hors ligne
En fait, ma fonction call_dynamic est défini avec un nombre d'argument variables ( ... ) ce qui ne permet pas de faire des appels par références car PB empile les arguments par valeur en faisant une copie systématiquement :-(
A côté de cela, un appel via le mot clée DYNAMIC empile tous les arguments par référence lors de la compilation.
Hors ligne
xlat a écrit:
En fait, ma fonction call_dynamic est défini avec un nombre d'argument variables ( ... ) ce qui ne permet pas de faire des appels par références car PB empile les arguments par valeur en faisant une copie systématiquement :-(
A côté de cela, un appel via le mot clée DYNAMIC empile tous les arguments par référence lors de la compilation.
C'est frustrant.
En tout cas merci pour la recherche.
Un jour PB aura une fonction evaluate() hors datawindow
Ça fait pas forcement du code lisible mais c'est bien pratique
Hors ligne
_francois_ a écrit:
xlat a écrit:
En fait, ma fonction call_dynamic est défini avec un nombre d'argument variables ( ... ) ce qui ne permet pas de faire des appels par références car PB empile les arguments par valeur en faisant une copie systématiquement :-(
A côté de cela, un appel via le mot clée DYNAMIC empile tous les arguments par référence lors de la compilation.C'est frustrant.
En tout cas merci pour la recherche.
Un jour PB aura une fonction evaluate() hors datawindow
Ça fait pas forcement du code lisible mais c'est bien pratique
j'ai déjà un équivalent avec embeddingperl
Hors ligne
Sinon j'ai déjà embeddé du VBScript dans PB mais c'est vraiment le bordel :D
Hors ligne
Pages: 1 2