问题标签 [ole]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
679 浏览

javascript - Javascript OLE 字

我想在没有所有工具栏的 Iframe 中显示 MS Word 环境。正在显示的文档包含输入字段。填写完这些字段后,必须打印文档。我已经创建了打印按钮,并希望在单击此按钮时打印(填写的)文档。

0 投票
1 回答
2086 浏览

java - Java 接口到 Windows 通信?(OLE、OPC、DDE)

我需要将现成的 Windows 应用程序与 Java 应用程序集成。在几个关键点上,我需要 Windows 应用程序向 Java 应用程序发送一个“事件”和一些数据。

Windows 应用程序预见到了这种需求,并且可以配置为“Poke a DDE Item”、“Set an OLE Auto-Property”或“Write an OPC Item”。

我已经在使用JACOB来调用 COM 方法并在 COM 对象上设置 COM 属性。但是,我猜这与这些“事件”通知功能无关。

任何人都有从 Windows 应用程序调用实际位于 JVM 中的“DDE 项”、“OLE 自动属性”或“OPC 项”的经验吗?

任何指针,建议等,将不胜感激。

0 投票
1 回答
1559 浏览

.net - 从 RichTextBox 中删除(或更新)图像

我有一个与管理 RichTextBox 中的 OLE 对象有关的问题。

到目前为止,我发现了很多信息,但并不完全是我需要的,所以我会先做一个快速介绍(我也希望有人会觉得这很有帮助)。

1.我目前所知道的

首先,我使用 OLE 将图像(或任何 ActiveX)插入 RichTextBox。这应该是执行此操作的“正确方法”,因为不涉及剪贴板,并且您可以插入所需的任何 ActiveX 控件。有一篇关于 CodeProject ( MyExtRichTextBox ) 的文章解释了如何做到这一点(带有完整的源代码),但为了简短起见:

使用 P/Invoke,OleCreateFromFile从 ole32.dll 导入该函数以从图像文件创建 OLE 对象。

函数返回一个IOleObject实例,然后必须由REOBJECT结构引用:

最后将结构传递给 RichTextBox,使用IRichEditOle.InsertObject. IRichEditOle是一个 COM 接口,也使用 P/Invoke 导入。

对象的“id”使我能够遍历插入对象的列表,并“做一些事情”。使用IRichEditOle.GetObject我可以获取每个插入的对象并检查dwUser字段以查看 id 是否匹配。

2.问题

现在问题来了:

a) 第一个问题是更新插入的图像。我希望能够按需“刷新”某些图像(或更改它们)。我现在这样做的方式是这样的:

由于我是从 Gui 线程更新的,我相信我不应该担心用户在此方法期间更改选择,因为 OLE 插入会阻塞线程,并且应用程序正在 STA 中运行。

但我不知何故觉得可能有更好/更安全的方法来做到这一点?这个方法看起来我应该用[DirtyHack]属性标记它。

b) 另一个问题是,在插入 ( IRichEditOle.InsertObject) 的那一刻,我得到一个未处理的异常(Paint Shop Pro 已停止工作)。尽管打开或编辑 shell 命令不存在文件关联,但插入 OLE 对象似乎会以某种方式启动此应用程序。

有谁知道这可能是什么原因以及如何预防?

[编辑]

我只是有了一个不同的想法——我可以创建我的自定义 ActiveX 控件来处理更新图像。在这种情况下,我只需要使 RichTextBox 的那部分无效(类似于 CodeProject 文章的作者所做的)。但这会使部署变得更加复杂(我需要向 COM 公开一个 .Net 类,然后在嵌入之前对其进行注册)。

0 投票
1 回答
1135 浏览

database - MS Access - OLE 服务器错误....帮助!

所以我在笔记本电脑上开发了这个访问数据库应用程序(只是后端),现在我试图将它移动到网络驱动器上。这个东西的目的是跟踪指标的数据,所以有很多数据(主表的 15 个字段的 700k 行),它运行这些前 N 个查询,它用这些查询构建图表......

所以我今天把它全部放在网络共享驱动器上并尝试运行一个图表..

查询似乎卡在中间(仅从左下方的小进度条来看),如果我控制 break 等待 5 分钟后,我会收到一条消息,说 OLE 服务器错误.....

请不要告诉我它可以在笔记本电脑上运行而不是在网络共享驱动器上运行?

有人知道这是怎么回事吗?

0 投票
1 回答
1867 浏览

c++ - 使用 OLE 获取焦点中的 Excel 工作表的 ID

使用 C++ 和 OLE,我该如何获取当前焦点所在的工作表的 ID?

例如,我有以下代码:

我想添加一个工作表,然后获取刚刚添加的工作表,以便我可以添加内容。上面的代码只有在用户没有将焦点从最左边的工作表上移开时才有效。

赛斯

0 投票
1 回答
1048 浏览

com - Adobe InDesign (OLE) COM 自动化接口记录在哪里?

我正在开发一个 .NET 应用程序(使用 C#),它需要处理一些 Adob​​e InDesign 文件并将其内容输出为 PDF。我可以使用 InDesign 的脚本,但 COM 接口对于这种非交互式工作来说似乎更干净一些。

不幸的是,我不得不猜测 InDesign 的 COM 接口的语义,因为我不知道它们记录在哪里。我在 Adob​​e 的支持网站上找不到任何东西。

那么问题来了:我该去哪里寻找 InDesign 的 COM 接口的语义?

提前谢谢大家。

0 投票
3 回答
3682 浏览

.net - 如何将控件强制转换为 IOleObject

我想在 .net 控件上调用GetClientSite 。为此,我试图将一个控件(例如 Windows.Forms.Form)强制转换为返回 null的IOleObject 。

我应该怎么做才能获得 IOleObject?

0 投票
1 回答
2444 浏览

oracle - 从 Oracle Forms 调用 Microsoft Word 拼写检查时出现 Vista 焦点问题

朋友们,

在 Vista 上测试我们的 Oracle Forms 应用程序时,我发现了一个有趣的“挑战”。

应用程序可以调用 Microsoft Word 拼写检查器来对字段执行拼写检查。调用时,用户会看到标准的 Microsoft Word 拼写检查对话框窗口。Word 本身对用户是不可见的。

拼写检查器是使用自动化从表单调用的,使用的方法基于 metalink 注释:295449.1 如何使用 WebUtil 将 MS Word 拼写检查器与表单集成。

这在使用 Windows XP 和 Office 2003 调用时效果很好。

但是,当在 Vista 上运行相同的(未更改的)功能时,Microsoft Word Spell Checker 对话框窗口会出现在浏览器窗口后面,因此对用户来说,似乎没有发生任何事情并且该功能无法正常工作(Vista 上没有任何指示已调用拼写检查器的任务栏)

问题出现在带有 Office 2007 和 Office 2003 的 Vista 上。我可以看到问题是由 Vista 引起的,因为如果我使用用于在 WindowsXP 上启动 Forms 应用程序的相同 url,Microsoft Word Spell Checker 对话框窗口会按预期出现,其中在前面。

在 Vista 中,我尝试将 Office 的兼容模式设置为 Windows XP SP2,但问题仍然存在。

我也尝试过显式设置 ACTIVATE(从下面的示例代码中可以看到)但没有成功。

有没有其他人遇到过这个?任何其他人遇到此问题的帮助或指示将不胜感激!

我的环境详细信息是:

环境细节

Oracle Forms:10.1.2.3 JRE:Sun JRE 1.6.0_14 数据库:10.2.0.3 Vista:Business Edition with Service Pack 1 Office:2003 或 2007

用于调用拼写检查器的代码(需要进入客户端 Oracle)是:

编辑:2009 年 10 月 8 日

此链接http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_23085081.html详细介绍了相同的问题(但这次不是 oracle 表单控制字,而是 ms 访问)不幸的是我看不到答案(如果有的话!)

编辑:2009 年 12 月 8 日

与专家交流状态的所有链接都是,这是一个远景问题 - 就像我不知道一样!

0 投票
2 回答
354 浏览

com - 是什么导致 OLE DoDragDrop 拖动的项目变为放置目标上方的不放置图标?

禁止放置图标是指带有斜线的圆圈,表示您不能在给定位置放置。哪个函数负责触发此图标更改?

0 投票
3 回答
1267 浏览

java - Java SWT 与 COM 互操作 - 将 float[] 放入 Variant?

在我的 Java SWT 应用程序中,我托管了一个第 3 方 ActiveX 控件。我正在使用 OleClientSite 来执行此操作。

我想从 Java 调用 2 个简单的小函数。以下是 COM 函数定义:

容易,对吧?这是我的假装代码:

问题在最后一行:如何将浮点数组传递给第 3 方 COM 对象?帮助!