【问题标题】:Delphi - COM/OLE starting example neededDelphi - 需要 COM/OLE 启动示例
【发布时间】:2011-03-01 01:29:43
【问题描述】:

自从我使用 COM/OLE 以来已经过去了 10 年,我忘记了其中的 90%。 现在我们需要创建一个 COM 对象来访问来自 PHP/Python 的一些数据(这是特定的事情,php ODBC 不访问数据库的输出参数 - 就像存储的 proc 输出一样),我的想法是我实现了一个最小的使用一种方法的对象,PHP/Python 可以调用它来获取输出...

procedure ExecSQL(Config, IP, Port, DBName, SQL, IDFieldName : variant) : output
output is [IDValue, ErrorMsg, HResult] 

请帮我一个很小的例子,如何开始呢? 我只需要这个,但我对调色板中的许多 ActiveX/COM 感到困惑。 我需要用什么来制作一个简单的 COM DLL,以及如何使用这个 DLL 注册我的 COM 对象?

谢谢: dd

【问题讨论】:

  • 如果您让我们知道您使用的是什么版本的 Delphi,将会有所帮助
  • 对不起...这是Delphi 6 Prof.

标签: delphi dll com


【解决方案1】:
  1. 选择 File\New\ActiveX Library - 这将创建 ActiveX DLL 项目
  2. 选择 File\New\Automation Object - 这将创建类型库和实现
  3. 使用类型库编辑器,向接口添加方法/属性
  4. 编写实现代码
  5. 选择 Run\Register ActiveX Server - 这将注册 COM 服务器 DLL

【讨论】:

  • 我会使用 Regsvr32 来注册 COM 服务器,它适用于每台机器。 regsvr32.exe "path and filename of my com-server"(加 /u 卸载)。
  • regsvr32 的作用与 IDE 完全相同:加载 dll 并调用其导出的 DllRegisterServer 函数。但是,在 Vista 和更高版本上,您可能需要从 IDE 可能不需要的提升进程运行它。
  • 我知道,但是要使用 IDE 安装 COM 服务器,您必须安装 IDE。这也是我推荐regsvr32的原因,因为我不认为开发机=webserver。
【解决方案2】:

对于 Delphi 中与 COM 相关的应用程序,此链接很有用 http://www.techvanguards.com/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-20
    • 2011-02-24
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多