2010-05-27 89 views
1

全部,C++ DLLs的更新版本

我有一个使用Visual Studio编写的C++ COM DLL。所有接口在idl和rgs文件中都有GUID。我们希望创建一个全新的GUID的DLL,因为我们希望它与旧的GUID共存于同一台机器上,但逻辑不同。 GUID的数量超过200个。是否有一种工具可以找到GUID并将其替换?我注意到idl文件中的每个GUID在rgs文件中都有3个相同的GUID。

我不是真的到C++ COM,但我必须完成这件事:

RGDS, MK

+0

是否每个接口都被更改?我不是任何COM大师,但我认为如果某些接口没有被改变,那么你不需要改变这些GUID。更改标识COM对象本身的单个GUID。但是在未改变的接口上保留GUID相同。 – 2010-05-27 19:34:51

+0

我们已经改变了几乎所有的东西。 – koumides 2010-05-27 19:38:20

+0

你的意思是一个全新的COM DLL与第一个界面完全相同吗? – 2010-10-19 11:52:53

回答

0

我们用下面的愚蠢的,但工作方法:我们将保存所有相关的COM类的GUID和接口作为#define s包含在.idl文件中的一个头文件中。当我们需要打破兼容性时,我们只需打开该文件并手动替换所有的GUID。不是很优雅,但可靠和有效。

所以我的建议是,你只需搜索项目中的所有GUID并替换它们。我想你会在同一时间将它们全部移到一个地方,会更好。