【问题标题】:How to write Delphi ActiveX control which can be used in MS Word/Excel/Powerpoint?如何编写可以在 MS Word/Excel/Powerpoint 中使用的 Delphi ActiveX 控件?
【发布时间】:2013-10-01 09:16:50
【问题描述】:

[ToDo] (1) 从 NGLN 的有用答案中可以看出,使用“Delphi ActiveX 控件”等更简单的关键字进行搜索。 (2) 在 Word/Excel/Powerpoint 中使用 ActiveX 控件是又一个步骤。 [/待办事项]

[有用的链接]

Writing ActiveX Controls in Master Delphi 7

create non visual activex control with delphi

Error Could not load unit [unit] symbol information for [TClassName]

=======

如果我想在 Delphi 中编写一个可以在 Microsoft Word/Excel/Powerpoint 中使用的表现良好的 ActiveX 控件,或者要学习哪些书籍和课程?

如果这应该是一个没有编程细节的坏问题,非常抱歉。 但是,当我在网上搜索资料时,我得到的几乎都是关于“如何在Delphi应用程序中操作/嵌入/托管Word/Excel/Powerpoint”。是因为还有其他语言/工具包吗?最适合创建可在 Microsoft Word/Excel/Powerpoint 中使用的 ActiveX 控件?

我尝试的原因:

  • 我现在做什么: (1) Delphi 应用程序用于生成图像文件。 (2) 此图像文件粘贴在 Excel 报告中。 (3) 当需要对图像进行不同的表示时,重复(1)和(2)一个。也就是说,需要在应用之间切换。

  • 我的目标是: (1) Delphi ActiveX 嵌入/托管在 Excel 报告中。当需要图像的不同表示时,可以通过 Delphi ActiveX within Excel 报告进行操作,而无需去其他地方或在应用程序之间切换。

【问题讨论】:

  • 您是否 100% 确定将 ActiveX 控件放入 Office 是您想要做的?你的目标是什么?
  • @DavidHeffernan 感谢您的努力!我会在上面做更好的描述。
  • 请不要为您的问题添加答案。而是发布答案。
  • 什么答案?唯一的答案是你的,这很有帮助。我只是在修改原始帖子,而不影响原始问题的目的或愚蠢性。
  • (1) 当您想联系该用户时,请使用@ 联系该用户。 (2) 您要求提供有关编写 ActiveX 控件的书籍/课程。您似乎找到了一些可以准确回答的链接。您将这些链接添加到上述问题中,它们应该在答案中。请添加对此(是的,您自己的)问题的答案。用它获得声誉和/或徽章,并从问题中删除链接、罢工槽和愚蠢的待办事项列表。遵循 SO 的简单规则,您现在肯定已经熟悉它们了。

标签: delphi activex


【解决方案1】:

您可以按照以下步骤创建 ActiveX 控件:

  • 将您的控件设计为可安装组件,继承自TWinControl 或以下版本
  • 发布要使用的属性,一次作为 ActiveX 控件
  • 将其添加到可注册的包中
  • 将该软件包安装到 Delphi IDE 中
  • 全部关闭
  • 选择文件 > 新建 > 其他... > ActiveX > ActiveX 库
  • 选择文件 > 新建 > 其他... > ActiveX > ActiveX 控件
  • VCL 类名 组合框中选择您的组件
  • 设置您要支持的threading modelApartment 是默认设置,可能更可取。
  • 构建项目
  • 注册 Delphi 使用 regsvr32.exe 创建的 OLE 控件扩展 (.ocx)

这就是我将 Delphi DXF 控件添加到 Access 数据库的方式:

请注意,安装 64 位 MS Office 需要 64 位 ocx(无论 Windows 版本如何)。

供参考:文档中处理创建 COM 对象的章节starts here

【讨论】:

  • 非常感谢你们的cmets!您是否可以帮助分享您的示例(精简版)?此外,是否有这方面的书,即在 Delphi 中创建要在 Office 中使用的 ActiveX 控件?如果没有,您会推荐哪本书来创建(可能是在 C# 中)要在 Office 中使用的 ActiveX 控件?
猜你喜欢
  • 1970-01-01
  • 2011-01-19
  • 2011-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
相关资源
最近更新 更多