-
Après d'autres tests, il semble effectivement que le problème soit lié au rajout manuel des fonctions et à leur numérotation : lorsque je copie/colle une fonction qui marche bien en lui changeant juste le nom et en regénérant le wrapper après l'avoir ajouté aussi dans l'idl (à la fin), ça ne fonctionne pas non plus. Par contre si je remplace une des mes autres fonctions situées au début de mon .idl par ma nouvelle fonction, ça fonctionne...c'est donc un problème de numérotation...
En gros, j'ai l'impression qu'il y a un paramètre donnant le nombre de fonctions exportées et qu'il ne doit pas être mis à jour.
Sais-tu comment faut-il faire pour ajouter des fonctions avec Visual 2003 (je ne retrouve pas les mêmes choses dans l'Assistant "Add a function")? Dans quel fichier dois-je ajouter mes fonctions alors? Le fichier idl est-il généré automatiquement à partir du OCXCtrl ou c'est l'inverse?
-
comme je te l'ai dis il ne faut surtout pas modifier manuellement ce fichier .idl ou .odl pour les activex.
la génération de nouvelles fonctions doit être faite par l'assistant c'est lui qui met à jour le fichier idl.
tu as regardé dans le tuto sur la section III-C. Avec Visual 2005 ?
le fonctionnement devrait être le même .
tu dois avoir dans le sélecteur de classe la visualisation de l'interface.
-
Effectivement c'est bien ça le problème, ça avance :).
Le seul problème reste la manipulation de l'assistant alors (qu'est ce que j'aime pas les assistants :D).
Si j'ai bien compris le tuto :
- Je vais dans le class view.
- Je vais dans mon sous-projet OCX.
- Clic droit sur mon fichier ocxCTrl -> Add function. J'ai alors l'écran suivant (ressemblant à celui de 2005) :
http://img265.imageshack.us/my.php?i...sistantee5.jpg
return type et function name => mon type de retour et le nom de ma fonction
parameter type et parameter name => nom et types de mes paramètres
Par contre je ne peux pas gérer le nom interne apparement.
Bon j'essaye ça alors :)
-
je ne suis pas sûr que tu sois positionné sur la bonne classe.
regarde le dessin du tuto la classe d'interface à un aspect différent des autres classes.
sinon poste l'image de ton classview.
-
Effectivement, je ne suis pas positionné au bon endroit, la DISPATCH MAP et l'idl n'est pas mis à jour. Je corrige ça.
-
J'ai trouvé, effectivement c'est la même chose :
http://img75.imageshack.us/my.php?im...sistantjy5.jpg
Bon je refais mes fonctions alors :)
Merci beaucoup pour tes précieux conseils.