OLE 入门 - 啥是好的学习项目选择?

Posted

技术标签:

【中文标题】OLE 入门 - 啥是好的学习项目选择?【英文标题】:Getting Started with OLE - What's a good learning project choice?OLE 入门 - 什么是好的学习项目选择? 【发布时间】:2009-03-19 18:30:28 【问题描述】:

我怀疑我很快将需要编写一个“集成”库,该库需要从 Java 调用 Windows 上的 OLE 对象。

我之前在 Windows 上完成过 Java 到 C/C++ 的集成(使用 C/C++ 和 JNI) - 所以我对这部分方程式并不陌生。

但是;我想尝试围绕 OLE 对象编写一个 C/C++ 包装器,以便为项目的这一部分提供测试。

所以,一些问题:

    我可以用 VS C++ Express Edition 做 OLE。我相信答案是,“是的,但是你没有 MFC,所以你不能调用 Microsoft OLE 对象(例如 Excel、Word 等)”

    如果我对 #1 的假设是正确的,我需要一个“测试”应用程序来提供我可以调用的 OLE 对象 - 有什么建议可以作为好的做法?

【问题讨论】:

【参考方案1】:

    是的,您可以使用 VC++ Express 进行 OLE,我建议安装 Windows Platform SDK。您不需要 MFC 即可使用办公应用程序。使用 VC++ Express 2005,您可以安装包含 ATL 的旧版 Platform SDK 2003 R1,它是 COM 功能的便捷包装器。如果您无法安装它,您可以创建自己的包装,请参阅这篇更高级的文章COM in Plain C。

    一个众所周知的提供 COM 对象的应用程序是 Internet Explorer,还有 Windows Media Player,并且可以通过 COM 访问 Flash。

你也可以看看Jacob“The JACOB Project: A JAva-COM Bridge”

您可以认为 COM 是构建 OLE 功能的层。

【讨论】:

【参考方案2】:

不清楚您是指实际的 OLE(具有就地编辑的嵌入/链接文档)还是只是自动化(调用 Office 应用程序的编程模型)。

无论哪种方式,您都可以使用 Visual C++ 速成版执行 OLE,只是不会获得 MFC 的(有些可疑的)优势来帮助您执行此操作。你也不会有 ATL,它没有 MFC 糟糕,但也没有那么好。

OLE 的问题在于,除非您有某种库可以作为您工作的基础,否则您将不得不编写大量样板代码。你需要参考一些ancient texts。

作为一个测试应用,为什么不用Word、Excel等呢?

【讨论】:

以上是关于OLE 入门 - 啥是好的学习项目选择?的主要内容,如果未能解决你的问题,请参考以下文章

使用 TestFlight 进行内部测试时,啥是好的 iOS 应用版本控制策略?

在处理 Proguard、MultiDex、测试和产品风味时,啥是好的策略?

对于在同一类中设置全局变量的例程,啥是好的命名约定

对于 unordered_map,对于具有 3 个无符号字符和一个 int 的结构,啥是好的散列函数?

学习开源框架的一些总结

在视图控制器之间传递数据 - iOS Xcode - 啥是好方法?