【发布时间】:2012-03-06 12:59:57
【问题描述】:
我正在尝试替换在 VB6 中构建的旧控件(ActiveX 控件)以控制 ATL 中的构建。(Microsoft 平台)。我已经使用流序列化了控件(VB6)对象。该对象具有一些由用户配置的属性。现在,在反序列化对象时,我能够加载新控件(ATL),因为两个控件具有相同的 Prog id 和类 id。但没有获得正确的属性值。
需要帮助...
【问题讨论】:
我正在尝试替换在 VB6 中构建的旧控件(ActiveX 控件)以控制 ATL 中的构建。(Microsoft 平台)。我已经使用流序列化了控件(VB6)对象。该对象具有一些由用户配置的属性。现在,在反序列化对象时,我能够加载新控件(ATL),因为两个控件具有相同的 Prog id 和类 id。但没有获得正确的属性值。
需要帮助...
【问题讨论】:
您不太可能(好吧,这将是一个惊喜)对 VB6 控件和 C++ ATL 控件具有二进制兼容性,并且具有相同的 ProgID 和 CLSID 是不够的。要在两者之间传递持久状态,您可以做的是IPersistPropertyBag 接口和属性包来携带属性值。
【讨论】: