2011-09-20 55 views
1

我正在使用一个有很多COM函数的C++项目。大部分的输入和输出都是VARIANT。有没有简单的方法来序列化/反序列化成长,字符串等使用Boost?使用boost来处理COM变体

回答

1

Boost与微软的COM技术毫无关系。在Boost中最接近COM的变种是boost::any。您可以编写COM的variant_tboost::any转换器,然后您可以序列化,转换等。

+0

所以你说我可以这样做,但我必须使用OLE2A等编写转换函数。 – John

+0

@JWM:是的,你必须自己写。 – 2011-09-20 19:51:43

+0

boost :: lexical_cast怎么样?我可以用它来代替吗?我试图将它从BSTR转换为int(工程),但无法将BSTR转换为字符串。 – John

0

有一个开源的OPC(OLE for Process Control)服务器实现,名为FatRat库。它使用提升并推动了很多VARIANTs。非常鼓舞人心。