我正在尝试为Windows CE 6.0设备上的应用程序创建ActiveX控件,但我无法让它在设备上注册。当我将.ocx文件传输到设备并尝试使用regsvrce.exe注册它时,它失败并显示错误7e,我知道这意味着缺少依赖项。如何识别缺少哪个依赖项?或者,我是否已经错误地创建了ActiveX控件?
我已经在我的开发机器上运行了Dependency Walker中的.ocx(运行Windows 7 64位,如果这很重要),并且它列出的所有顶级依赖项都存在于CE设备上。因为Depends会在我的开发机器上查找顶级依赖项,因此我无法在树中进一步查看,其中一半因为它们是CE特定的而缺失。 Dependency Walker不能在CE设备上运行(除非我错过了CE版本?)。我试图将DLL从CE设备复制到闪存驱动器,因此我可以将它们加载到我的开发机器上的DW中,但设备不允许我这样做。不幸的是,我用于传输文件的OEM工具只将传输到设备。 [编辑:我没有尝试编写自己的工具来尝试将文件从设备拉到开发机器。]
关于我如何设置项目的一些细节,以防我在这方面有一些错误的假设。我试过两个项目。一个人有我的代码(ActiveX控件本身只是一些数据的图形表示,我最初在win32 ActiveX控件中设置它以查看它的外观),一个是一个干净的项目 - 从模板创建,编译,下载到设备;没有添加代码或配置已更改。尝试注册时,两者都有相同的结果。
非常感谢您的任何答案!如果你看到一些明显的东西指出来 - 这是我的第一个ActiveX项目和我的第一个CE项目,所以我很可能错过了一些基本的东西。
答案 0 :(得分:0)
自您构建OCX
后,我假设您使用的是MFC
。你如何与MFC
联系?查看项目设置|常规,尝试选择“在静态库中使用MFC”。同样适用于ATL - 尝试选择“静态链接到ATL”(如果使用ATL)。这也适用于VCRT - 在C / C ++ |代码生成中,在“运行时库”中尝试选择没有“DLL”的选项(即 - 静态链接到VCRT)。
由于默认的空OCX不适合你 - 这是我唯一能想到的......
另一件事 - 我认为你有理由与Visaul Studio 2005
合作?为什么不是更新的版本?
祝你好运,PazO