Ms office 如何从内存存储中打开Office 2007文档? < >我是一个C++开发人员,正在与一个应用程序进行搏斗,该应用程序广泛地使用istoGead接口来从内存存储(通过ILOCKEB字节)打开Poice Office 2007文档。

Ms office 如何从内存存储中打开Office 2007文档? < >我是一个C++开发人员,正在与一个应用程序进行搏斗,该应用程序广泛地使用istoGead接口来从内存存储(通过ILOCKEB字节)打开Poice Office 2007文档。,ms-office,istorage,Ms Office,Istorage,如果到目前为止您仍在关注我,您可能知道新的Office文档格式与IStorage容器不兼容。我尝试更新的应用程序依赖于所有Office应用程序都具有的IPersistStorage接口,并且编写的代码调用IPersistStorage的load方法从IStorage接口读取文档 因此,问题是: 从内存容器中读取Office 2007文档时,我可以使用哪种COM接口?我一直在努力解决几乎相同的问题,即从数据库存储中读取和写入 现在,我认为最好的方法可能是使用WebDAV支持,并使用web服务器实现

如果到目前为止您仍在关注我,您可能知道新的Office文档格式与IStorage容器不兼容。我尝试更新的应用程序依赖于所有Office应用程序都具有的IPersistStorage接口,并且编写的代码调用IPersistStorage的load方法从IStorage接口读取文档

因此,问题是:


从内存容器中读取Office 2007文档时,我可以使用哪种COM接口?

我一直在努力解决几乎相同的问题,即从数据库存储中读取和写入

现在,我认为最好的方法可能是使用WebDAV支持,并使用web服务器实现WebDAV来读取和写入数据库


不过,这真是一团糟。。。欢迎使用其他指针:-)

在俄罗斯Delphi社区中,建议使用以下调用序列:GlobalAlloc(GMEM_MOVEABLE,Stream.Size)=>GlobalLock=>CreateILockBytesOnHGlobal=>StgOpenStorageOnILockBytes=>OleLoad=>IOleObject.DoVerb(0,nil,nil,0,0,Rect(0,0,0,0))