回 帖 发 新 帖 刷新版面

主题:实现软件的重新登录,就像

我想的当前运行的程序关闭,并重新启动一下软件,应该怎么做?   
  我的这个软件是用VB6做的,开发环境是WinXP   
  而且我的这个软件的启动方式是sub   main()  。

用的主要代码是:

(flogin,登陆窗体;frmmain主窗体。代码中还有模块以及通讯控件等。)
 flogin.show
 unload frmMain

主要问题是重新登录次数多后,内存地址出现不能为 read的不规律的情况。怀疑是 前次的资源没有完全释放。用什么样的方法能完全实现释放资源后的重新进入程序呢(如果用END就连flogin也结束了,又不能实现重新登陆了。)用过set form=nothing 的语句,也没有什么效果
 

回复列表 (共6个回复)

沙发

当你在使用F5运行程序时,正常关闭程序是否会出现窗口都关闭了,但是VB显示还在运行?

这可能是你占用资源的最大隐患。


如果程序比较简单,可以发过来,我给你看看

板凳

重登录可以这样实现:
1、frmMain.Visible = False
2、Shell App.ExeName & ".exe"
3、End

3 楼


程序大:(。谢谢你。END的话资源一定都是释放了的啊。

4 楼


估计不行,因为frmmain.visible=false 说明资源没有释放。又运行了一次程序才end.
而重新登陆是站在主窗体上开始按钮重新登陆的。谢谢你

5 楼

很多时候,都是由于你得Form在关闭的情况下进行了属性配置,这样Form将会处于visible=false 状态。Form的资源自然无法释放。

比如以下程序

Unload FormMain
aaa = FormMain.Caption

简单的两句程序,却产生了FormMain的重新加载

6 楼

我估计是你的软件用了什么API、或者什么控件调用了API,导致内存错误。

VB的组件是经过严格重复多次的测试的,即使你怎么使用它,也很少会出现内存错误的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册