2011-04-07 140 views
1

我的任务是将功能添加到10年前的vb 6.0应用程序。起初我得到以下错误,当我试图创建EXE:为什么我的VB 6.0应用程序不能编译?

“找不到项目或库”

然后它列为失踪:水晶报表8.5标准向导库

所以我得到了该dll的位置并将其放在system32中,然后在Reference的弹出窗口中将其映射到dll。但是我仍然得到相同的错误消息,它指向同一个DLL,虽然“MISSING”已被删除。

+0

什么行代码突出显示时,它会引发错误? – jasonk 2011-04-07 18:32:26

+2

仅供参考:通常,在缺少库的情况下,IDE强调的代码行通常与缺失的库不相关。例如,您可能会丢失所述的Crystal Reports库,但IDE可能会突出显示一行显示消息框的代码。因此,我不会依赖收集IDE停止的行中的任何有用信息。 – 2011-04-08 04:15:52

回答

1

在注册表中可能有两个条目导致该问题,可能是一个在删除的目录中。我建议用类似ccleaner的东西来清理注册表,然后再次尝试注册它。 VB6会偶尔保留不好的注册表项。

您可能会检查也检查EXE/DLL文件中包含的Dependency Walker工具来查看是否有报告工具是缺少缺少次要成分:我继承了一个应用程序,使用维护http://download.cnet.com/Dependency-Walker/3000-2086_4-10052198.html

+1

理想情况下,您应该运行工具供应商提供的* install *。 – MarkJ 2011-04-07 19:21:45

+1

同意@MarkJ。有问题的DLL也需要注册,只要它被复制到开发机器上,但安装程序会照顾(和任何其他依赖项)。但是,如果由于某种原因,您没有和/或无法获得Crystal 8.5安装CD,则该DLL需要至少注册* regsvr32 *,以便VB有任何希望找到它。 – 2011-04-08 04:08:54

0

CR 8.5也是。在InnoSetup安装程序中指定了以下.dll。我认为你需要他们!注意安装目录!一些去系统32({系统})其他人去Windows \水晶

;Crystal Report files 
Source: CR\Crystl32.ocx; DestDir: {sys}; Flags: regserver sharedfile 
Source: CR\mfcans32.dll; DestDir: {sys}; Flags: sharedfile 
Source: CR\crpe32.dll; DestDir: {sys}; Flags: sharedfile 
Source: CR\Crpaig80.dll; DestDir: {sys}; Flags: sharedfile 
Source: CR\Implode.dll; DestDir: {sys}; Flags: sharedfile 
Source: CR\msvcp60.dll; DestDir: {sys}; Flags: restartreplace sharedfile 
Source: CR\Exlate32.dll; DestDir: {sys}; Flags: sharedfile 
Source: CR\p2bdao.dll; DestDir: {sys}; Flags: sharedfile 
Source: CR\p2ctdao.dll; DestDir: {sys}; Flags: sharedfile 
Source: CR\p2irdao.dll; DestDir: {sys}; Flags: sharedfile 
Source: CR\u2ddisk.dll; DestDir: {win}\Crystal 
Source: CR\u2fhtml.dll; DestDir: {win}\Crystal 
Source: CR\u2fsepv.dll; DestDir: {win}\Crystal 
Source: CR\u2ftext.dll; DestDir: {win}\Crystal 
Source: CR\u2fwordw.dll; DestDir: {win}\Crystal 
Source: CR\u2fxls.dll; DestDir: {win}\Crystal 
Source: CR\u2lsamp1.dll; DestDir: {win}\Crystal 
;end Crystal Report files 
相关问题