2010-05-27 4 views
1

Tous,C++ DLL version plus récente

J'ai une DLL COM C++ écrite en utilisant Visual Studio. Toutes les interfaces ont des GUID dans les fichiers idl et rgs. Nous voulons créer une nouvelle DLL avec de nouveaux GUID comme nous voulons qu'elle coexiste sur la même machine avec l'ancienne mais avec une logique différente. Le nombre de GUID est supérieur à 200. Existe-t-il un outil qui trouve les GUID et les remplace? J'ai remarqué pour chaque GUID dans le fichier idl il y a 3 mêmes dans les fichiers rgs.

Je ne suis pas vraiment en C++ COM mais je dois réaliser ce but:

Mfg, MK

+0

Est chaque interface unique étant changé? Je ne suis aucun gourou COM, mais je pense que si certaines interfaces ne sont pas modifiées, vous n'avez pas besoin de changer ces GUID. Modifiez le GUID unique qui identifie l'objet COM lui-même. Mais laissez les mêmes guids sur les interfaces inchangées. –

+0

Nous avons presque tout changé. – koumides

+0

Voulez-vous dire une nouvelle DLL COM avec exactement la même interface avec le premier? –

Répondre

0

Nous utilisons l'approche stupide mais travaillant suivant: nous enregistrons tous les GUIDs pertinents pour les classes COM et interfaces comme #define s dans un en-tête qui est inclus dans le fichier .idl. Lorsque nous devons casser la compatibilité, nous ouvrons simplement ce fichier et remplaçons manuellement tous les GUID. Pas très élégant, mais fiable et fonctionne.

Donc, ma suggestion est que vous recherchez juste pour tous les GUIDs dans votre projet et de les remplacer. Je suppose que vous feriez mieux de les déplacer tous au même endroit en même temps.

Questions connexes