【问题标题】:How to use ReportViewer VB.net DLL in VB6 program?如何在 VB6 程序中使用 ReportViewer VB.net DLL?
【发布时间】: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


【解决方案1】:

原来问题是我需要为 Microsoft.ReportViewer.Common 设置 Copy Local 属性并将相关的 DLL 文件与我自己的 DLL 一起复制。希望这对遇到类似问题的人有所帮助。

【讨论】:

    猜你喜欢
    • 2021-12-27
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多