【发布时间】:2014-04-19 04:55:50
【问题描述】:
我编写了一个 DLL,它提供了从 MySQL 数据库中提取数据并使用 VS 2012 中的内置报告查看器生成报告的方法。我的想法是在 VB6 程序中使用它。我经历了以下过程:
1) 在 VS 中构建 DLL 并选择“注册 COM 互操作”
2) 将DLL和TLB文件放在另一台机器的VB6程序目录下
3) used regasm: "regasm Report.dll /tlb: Report.tlb /codebase" (如果我已经有 VS 生成的 TLB 文件,那是多余的步骤?)
4) 在 VB6 项目引用中添加 TLB 文件
VB6 程序构建和执行正常,但是当我运行我的报告时,我只收到“自动化错误:系统找不到指定的文件”。
根据here 给出的说明,我已经完成了一个简单的 DLL 的上述过程。这工作得很好。我怀疑我的 DLL 中使用的引用(MySQL.Data 和 Microsoft.ReportViewer.WinForms)可能还需要在 VB6 机器上注册。我已经能够使用 MySQL.Data 但不能使用 ReportViewer DLL 来做到这一点。
如果有所不同,DLL 是在 Windows 7 64 位机器上构建的,而 VB6 机器运行 XP 32 位。
提前致谢。
【问题讨论】:
-
您能否创建最少的 VB6 代码来重现该错误,并指出它落在哪一行?
标签: vb.net dll vb6 reportviewer