设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 475|回复: 7
打印 上一主题 下一主题

窗體新實例的奇怪現象

[复制链接]
跳转到指定楼层
1#
发表于 2002-6-17 17:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下語句打開窗體的一個新實例。
Private Sub com_modify_Click()
On Error GoTo err_this
Dim newfrm As Form

Set newfrm = New Form_TRADE_ORDER
newfrm.Caption = "交易:定單->修改"
newfrm.AllowEdits = True
newfrm.SetFocus
'打開一個新窗本的實例,使其具有可編輯屬性
xit_sub:
   Exit Sub
err_this:
   MsgBox Err.Description
   Resume exit_sub
End Sub
-------------------------------------------------------------------
現在的情況是:
單擊打開窗體新實例的按鈕后,看到新實例的畫寫一閃而過,好像打開了,
但又新實例窗體仍末出現。為什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2002-6-17 19:13:00 | 只看该作者
以上是在繁體98,英文accessxp 個人版下發生的,
有朋友給指點一下嗎?
多多謝?

点击这里给我发消息

3#
发表于 2002-6-17 19:50:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
4#
 楼主| 发表于 2002-6-17 20:15:00 | 只看该作者
所言極是,大能的我看過,
也同樣出現此現像?
可否有辦法解決。
請指點
多謝
5#
发表于 2002-6-18 03:08:00 | 只看该作者
这是一个不易发觉的基本常识错误:
   你的NewFrm变量声明是在一个Private过程中,当这个过程执行完毕的时候,该过程中声明的变量都会从内存中释放,从而,基于该变量所创建的所有对象实例也通通地释放掉了。
就好象过程中有这句一样:set newFrm = nothing
解决的办法就是将此变量在比它高一级的模块中声明即可,如果你的该实例所要求的生命期比这还要长,可以在工程模块中声明。
同时,在代码中最好加上NewFrm.Visible = True才确认窗体的可见性。
  这也可以给大家一个提示:只要在合适的地方将变量newFrm从内存中释放,则不管你在此变量基础上创建了多少个实例都将一起消失。

点击这里给我发消息

6#
发表于 2002-6-18 03:10:00 | 只看该作者
非常精辟!非常正确![em26]


[此贴子已经被zhuyiwen于2002-6-17 19:10:23编辑过]

7#
发表于 2002-6-18 03:19:00 | 只看该作者
厉 害 !!这里高手不露相
8#
 楼主| 发表于 2002-6-19 00:14:00 | 只看该作者
freemanager真是一言正中要害,此問是困弟久已現以解決,多多謝。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-11 01:53 , Processed in 0.100871 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表