我正在VB6中编写一个小实用程序,它调用C#.Net类(它带来了打印机列表)但是在调用C#方法时,它抛出了以下错误,我无法编译/运行应用程序。有人可以帮忙吗?
VB6代码:
Dim retval As Integer
Dim tbp As NamespaceXYZ.CGETList
Dim a As String
Dim col As New Collection
Set tbp = New CGETList
retval = tbp.GetDefaultPrinterAndList(col, a)
方法的C#定义。
public void GetDefaultPrinterAndList(ref Microsoft.VisualBasic.Collection vntPrinterList, ref string defaultPrinter)
{
错误:
答案 0 :(得分:1)
您声明了tbp
,但忘了初始化它。
Dim tbp As NamespaceXYZ.CGETList
'tbp value is currently Nothing
Set tbp = New NamespaceXYZ.CGETList
'now it's something.
请注意,上面假设NamespaceXYZ.CGETList
类具有默认构造函数,即您可以使用New
创建新对象。有些班级没有这个;它们要求您以其他方式创建对象。