2012-04-28 82 views
0

我已经使用vs2008开发了一个activex组件。我用MFC来开发它。手动注册OCX文件

我试图手动注册的组件使用命令

REGSVR32 mycontrol.ocx但它扔一个错误“加载库”失败。我相信这是因为依赖dll。我用依赖沃克,并找出了DLL。现在我该怎么做才能使它工作。

+0

所以,你知道什么样的DLL你错过了,但不知道该怎么办呢? (不知道我理解你的问题。) – Mat 2012-04-28 11:12:41

+0

@Mat:我想我应该尝试一下Mazhar提到的 – Jeeva 2012-04-28 11:17:16

回答

0

我编译使用MFC为静态链接的项目,它解决了我的问题

0

尝试把dll文件System32文件夹下,看看它是否工作,我的工作就好了

+0

这是个不好的建议。你不应该修改系统目录。它属于该系统,您尊重它并保持独立。 – 2012-04-28 12:37:13

+0

告诉我们,如果你有另一个解决方案 – 2012-04-30 11:16:10

1

最有可能你正在运行的REGSVR32 64位版本和OCX是32位。由于regsvr32将OCX DLL加载到其进程中,因此您必须使用32位版本的regsvr32。这可以在C:\ Windows \ SysWOW64中找到。

+0

我应该怎样处理相关的MFC DLL?我应该编译我的解决方案与MFC staticaly链接? – Jeeva 2012-04-29 15:35:53

+0

静态链接MFC肯定是一种选择。如果您动态链接到MFC,则需要将DLL部署到DLL搜索路径中的某处。但我的怀疑是你的直接问题是由于在64位机器上运行。当然,我有点猜测,因为你还没有证实。 – 2012-04-29 15:39:26