如何获取IPersistStorage接口?

解决方案 »

  1.   

    在工程中加入导入库
    然后初始COM库
    然后声名就可以用了
      

  2.   

    每个 interface 都应该有一个 uuid 的,尝试着通过 IPersistStorage 的 uuid 来得到。
    //刚接触 com,不能确定回答是否正确。
      

  3.   

    ?如何通过UUID得到?
    我没有尝试过UUID能得到接口,能否讲得详细点,
      

  4.   

    看看这个 IPersistStorage 定义在哪个 .tlb 中,.idl 中,应该可以看到 id 。
    //刚接触 com,不能确定回答是否正确。
      

  5.   

    IPersistStorage是控件通常需要实现的接口之一,用于保存持久性信息。
    COM中使用对象的任何一个接口的QueryInterface方法查询其它的接口。
      

  6.   

    to jiangsheng:
    比如有两个程序, 要将B 程序嵌入到A程序中,B程序内容的更新保存应该在IPersistStorage接口的save方法实现吧,那如何在A程序中适时的将B程序中更新的内容显示出来呢?
      

  7.   

    IPersistMemory, IPersistStorage, IPersistStreamInit, IPersistPropertyBag,IOleObject都可以用来将对象的数据持久化。具体使用哪一个接口则视容器而定。一些ActiveX控件框架,例如MFC的COleControl实现了这些接口。参见
    PRB: COleControl::Serialize Not Called with VB as Container
    http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q141/2/74.asp&NoWebContent=1
      

  8.   

    没怎么看明白
    一般来说,ole的内容发生改变了,是否只需要通过IDataAdviseHolder->sendOnDataChange通知包容器,就可以拉?