试图创建 Cancer.Calendarpro 的实例时发生异常。异常为“未将对象引用设置到对象的实例。”。

是什么意思阿?
---------------------------------------------------------------

Dim a As Cancer.Calendarpro

a.member1 = xxxx

这样是不行的!因为那个a并不指向一个具体的实例。
如果你需要操纵某一个已经创建的东西,那么就应该先对a赋值,而且要确保正确!如: a = ...

如果你需要一个新的Cancer.Calendarpro,那么:

Dim a As Cancer.Calendarpro

a = New Cancer.Calendarpro(...) '...具体要看那个Cancer.Calendarpro是怎么定义构造函数的。
a.member1 = xxxx

或者

Dim a As New Cancer.Calendarpro(...)

a.member1 = xxxx

简而言之,某个对象变量没有指向一个实体。
如果这种情况是有可能的,或者你没有办法去控制这种情况的出现——比如你要写一个过程模块,传递给你一个Cancer.Calendarpro对象,你的过程需要用到他,但是调用者不保证他一定是已经实例化了,那么你需要对这个情况进行判断:

Sub abc(ByVal a As Cancer.Calendarpro)
If a Is Nothing Then Return ' Or a = New ... 注意:不会返回到调用者那里!
a.xxxx
End Sub

Published At
Categories with Web编程
Tagged with
comments powered by Disqus