在win64位下安装MXComponent软件,但它只注册了32位的版本,在Delphi中安装了 该软件的32位activex控件,编成32位的程序使用没有问题。但编成64位的程序,编译能通过,就是运行程序的时候,提示 类没有注册。搞了几天了,都没有搞清楚要怎么弄?
1 能否在64位中重新注册一个32位的activex组件?
2 能否编一个32位的dll调用该activex,然后再由64位程序调用该32位的dll?
请高人指教,谢谢
1 能否在64位中重新注册一个32位的activex组件?
2 能否编一个32位的dll调用该activex,然后再由64位程序调用该32位的dll?
请高人指教,谢谢
解决方案 »
- 如何将TQuery查询出的数据保存到本地??十万火急啊!!!
- 请问有谁知道,怎么使用DELPHI的EXCEL控件从EXCEL表中读取表中的所有数据,小弟我是第一次用的,请说详细点
- 关于录音的问题(急,高分求!)?
- 急的晕倒了!!!!
- 窗体大小!
- SOS---一个刚用DELPHI做课程设计得大三学生得紧急求救!谁能救小妹一命,感激万分!
- 悲愤,离别CSDN,散分:欢迎以下给予我帮助的人士进来拿分:firstshine , zx_wang(wzx), larky(睡仙) , CoolSlob()
- 用delphi实现自动登录网易北京论坛中遇到的问题
- 网上哪有英文的delphi ebook下载,谢谢
- 找出所有IE的窗口类;而findwindow仅仅返回一个最近的ie窗口类指针?
- fastreport4.9中,在TfrxRichView绑定的数据显示有问题
- 悬赏求助 Delphi 用 ThttpResqreq 组件调用webservice 问题
64位应用程序只能调用64位的ActiveX
https://www.codeproject.com/tips/267554/using-bit-com-object-from-bit-application
By modifying the Registry, you can allow a 64-bit app to use a 32-bit COM object. Locate your COM object GUID under HKey_Classes_Root/Wow6432Node/CLSID.
Once located, add a new REG_SZ (string) value. The name should be AppID and the data should be the same COM object GUID you have just searched for.
Add a new key under HKey_Classes_Root/Wow6432Node/AppID. The new key should be called the same as the COM object GUID.
Under the new key you just added, add a new REG_SZ (string) value, and call it DllSurrogate. Leave the value empty.
Create a new key under HKey_Local_Machine/Software/Classes/AppID, if it doesn't already exist. Again, the new key should be called the same as the COM object's GUID. No values are necessary to be added under this key.
纯64位程序,就得使用64位的控件。
与代理无关。因为COM server支持两种运行模式:in process和out of process,后者就支持32/64位互操作,之所以需要设置一下注册表,是因为win64中实际有两个注册表,一个用于64位应用,另一个用于32位应用,注册64位ActiveX组件时只注册到了64位注册表部分,32位也一样,所以默认情况下64位程序找不到32位ActiveX。理论上来说,所有基于COM规范的二进制接口实现,诸如OLE、OCX(OLE Control Extension)、ActiveX(ActiveX实际只是一个推广名,技术上是OLE Automation Server)都可以实现32/64位互操作,比如实测写一个win64程序,OLE打开word2003正常。