如何在VB6程序中使用ReportViewer VB.net DLL?

时间:2014-03-14 04:03:43

标签: vb.net dll vb6 reportviewer

我编写了一个DLL,它提供了从MySQL数据库中提取数据并使用VS 2012中的内置报表查看器生成报表的方法。我们的想法是在VB6程序中使用它。我已经完成了以下过程:

1)在VS中构建DLL,使用"注册COM互操作"选择

2)将DLL和TLB文件放在另一台机器上的VB6程序目录中

3)使用了regasm:" regasm Report.dll / tlb:Report.tlb / codebase" (冗余步骤,如果我已经有VS生成的TLB文件?)

4)将TLB文件添加到VB6中的项目引用

VB6程序构建并执行正常,但是当我运行我的报告时,我得到了#34;自动化错误:系统无法找到指定的文件"。

根据给出的here指令,我已经完成了一个简单DLL的上述过程。这很好。我怀疑我的DLL中使用的引用(MySQL.Data和Microsoft.ReportViewer.WinForms)也可能需要在VB6机器上注册。我已经能够使用MySQL.Data而不是ReportViewer DLL。

如果它有所不同,DLL是在Windows 7 64位机器上构建的,而VB6机器则运行XP 32位。

提前致谢。

1 个答案:

答案 0 :(得分:0)

原来问题是我需要为Microsoft.ReportViewer.Common设置 Copy Local 属性,并将相关的DLL文件和我自己的DLL一起复制。希望这可以帮助任何有类似问题的人。