我将部署一个用 Delphi 编写的 64 位版本的 OCX。OCX 要求stdvcl40.dll可用并在目标系统中注册。据我所知,我的 Delphi 安装中只有一个 32 位版本,但由于源可用,我应该能够自己创建一个 64 位版本。
这样做是否有必要或优势,或者我应该坚持使用包含的版本并且只部署那个版本?
编辑 只是提供一点背景:StdVCL40.dll 主要包含一个类型库,暴露在 System.Win.StdVCL.pas 中声明的三个接口。此 dll 的更高版本还实现了一些处理这些接口的属性页。
删除对 stdvcl40.dll 的依赖的结果是这些接口(在我的例子中是 IStrings)在我的类型库中不再可用,并且任何引用都被 IDispatch 替换。
stdvcl40.dll 不是设计时包,它必须与我以前 Delphi 版本中的大多数 ActiveX 库一起部署。我必须部署它,否则 OCX 拒绝首先注册。
它实际上似乎也适用于我的 OCX 的 64 位版本,这可能是因为 Windows COM 足够聪明,可以确定没有 64 位版本,因此采用 32 位版本。虽然我不确定这是否是要走的路。因此我的问题。