高分求解类模块问题.!!!!!!!!!1

jzhan 2005-08-31 09:59:17
我在调试一个类模块的时候,为什么港我完成Class_Initialize后就直接去运行Class_Terminate,很胸闷啊

有高人能解一下吗???
...全文
109 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
province_ 2005-09-01
set mycls=nothing更精确的说法是告诉系统某个类实例引用计数减一,只有在计数为0时,系统才会销毁该实例。比如set obj as new class1,set obj2=obj现在有两变量引用同一个类实例;
然后你set obj=nothing,此时你还是能使用OBJ2的。只有在SET OBJ2=NOTHING后类实例才被系统销毁(回收)。
回复
linkinwork 2005-09-01
/////////////////////////////////
dim mycls as new myclass
form1.show
set mycls=nothing
窗体(非模式)虽然开着,但类实例已经被释放了
如果把form1.show 改成
form1.show vbmodal就没问题了
set mycls=nothing要到窗体关闭时才会执行
////////////////////////////////////////////
“set mycls=nothing”当然会释放对象呀!
如果用form1.show vbmodal他后面的代码要在窗体关闭后才执行
回复
huangfeng0912 2005-09-01
路过
回复
daixinhou 2005-09-01
将Dim mycls as new myclass声名成模块级变量试试
回复
jzhan 2005-09-01
microtry(土炮) 兄那怎么才是妥的的调试方法
回复
缪军 2005-08-31
比如:
dim mycls as new myclass
form1.show
set mycls=nothing
窗体(非模式)虽然开着,但类实例已经被释放了
如果把form1.show 改成
form1.show vbmodal就没问题了
set mycls=nothing要到窗体关闭时才会执行

回复
缪军 2005-08-31
Class_Terminate是类实例被析构时触发的
可能是楼主的调试方法不妥造成的
回复
缪军 2005-08-31
你是怎么调试的呀?
回复
benyfeifei 2005-08-31
贴出Class_Initialize里的代码来看看。
回复
jzhan 2005-08-31
自己顶一下先
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告