Bonjour,
J'aurais besoin de quelques éclaircissements dans le cadre d'un projet. Je travaille actuellement sur un programme entièrement codé en VB6 qui gère des mises en forme de graphes. Seulement, la génération est très lente et le résultat pas toujours à la hauteur. Mon patron souhaiterait donc "extraire" les algorithmes de calcul du client VB6 pour en faire une *.dll codée en C++.
Contraintes de base :
- Le projet VB6 contient environ 500 classes qui chacune contiennent en moyenne 30-40 attributs et autant de méthodes (disons que le projet n'a pas été conçu par des pros de la POO) => Impossible d'envisager de recoder toute la partie "données" pour ne garder que la couche graphique dans VB6.
- La DLL codée en C++ doit traiter des objets créés par le client VB6.
Je pensais donc transmettre à la DLL un tableau d'objets VB6 (les objets à réorganiser) en ByRef afin que la DLL puisse agir dessus et modifier leurs attributs (x et y). Seulement il y a quelques questions qui me bloquent complètement et pour lesquelles je trouve des infos totalement contradictoires sur le net.
1- Est-ce que je dois redéclarer dans ma DLL tous les objets VB utilisés? Par exemple, si j'appelle depuis ma DLL la méthode objettoto.methodetata() d'un objet instancié à partir de la classe classetoto en VB6, est-ce que ma DLL va exécuter la méthode VB6 ou est-ce que ma DLL va chercher une déclaration classetoto dans son propre code contenant une méthode methodetata()?
2- Dans le cas où je dois redéclarer en C++ toutes mes classes VB6, est-ce que je dois déclarer l'intégralité des attributs et des méthodes de chaque classe utilisée ou est-ce que je peux me contenter des attributs et méthodes utilisés dans mon code C++.
3- Dans le cas où je n'ai pas à refaire mes déclarations de classe dans ma DLL, est-ce que je dois faire quelque chose de particulier pour permettre l'utilisation des méthodes de mes classes VB6 dans mon code C++?
D'avance merci pour la lecture et les éventuelles réponses et désolé pour le fait que mes questions sont peut-être peu claires.
Partager