Décharger un contrôle COM lorsque vous travaillez dans VB6 IDE

voix
31

Une partie de mon travail quotidien maintient et extension des applications VB6 héritage. Un moteur commun est écrit en C / C ++ et VB6 utilise ces fonctions afin d'améliorer les performances.

En ce qui concerne la programmation asynchrone, une interface C ne suffit pas et nous comptons sur le contrôle COM pour déclencher des événements à VB6.

Mon problème est que lorsque je me enregistre le contrôle dans VB6, charges VB ce contrôle en mémoire et ne décharge pas jusqu'à ce que je quitte l'IDE VB6. Comme le contrôle est chargé tout le temps, je suis incapable de le recompiler dans VC6, car le fichier DLL est verrouillé.

Une solution que j'ai trouvé est de ne pas permettre le contrôle en VB , mais utilisez le CreateObject()avec le nom complet de mon contrôle. Le problème est alors que je dois déclarer mon contrôle comme un objet parce que VB6 ne sait rien de l'interface que je me sers et je ne pas avoir accès à IntelliSense, qui est une douleur.

Toute idée comment je peux dire VB6 pour décharger les commandes après avoir quitté l'application ou directement dans l'IDE?

Créé 02/08/2008 à 12:52
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
27

Je suis assez sûr qu'il n'y a pas de bonne façon de forcer VB6 pour décharger le contrôle.

Voici ce que je fais ... au lieu de l' exécution de Visual C et côte à côte Visual Basic, exécutez VB6 sous VC:

  1. Chargez VC
  2. Ouvrez le projet contenant vos objets COM
  3. Modifier, changement, etc.
  4. Dans VC, régler la sortie exécutable à VB6.EXE avec des arguments de ligne de commande appropriés pour charger l'espace de travail VB6
  5. Maintenant, appuyez simplement sur F5 pour lancer l'IDE VB6 et charger votre projet VB6
  6. Lorsque vous voulez modifier le code COM à nouveau, sortie VB6.EXE, apportez vos modifications, et appuyez sur F5 à nouveau. Tant que vous enregistrez votre VB6 espace de travail se souviendra que les fenêtres que vous aviez ouvert et tous les paramètres de votre projet.

Avantages de cette méthode:

  • Vous pouvez définir des points d'arrêt dans l'objet COM et déboguer à l'aide d'un débogueur source complète
  • Vous pouvez heureusement déboguer en C et VB en même temps
  • Chaque fois que VB6 est en cours d'exécution, il a toujours la dernière version de la DLL COM
Créé 20/08/2008 à 04:58
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more