当前位置:编程学习 > VB >>

vb程序中使用end无效

1.在vb的IDE环境下运行一切正常;
2.在vb中编译之后生成exe文件,双击运行之后,end无效,窗体仍然被加载,不知问题出在什么地方?
请大家指点,谢谢! --------------------编程问答-------------------- 程序有没有运行到你写了end的地方哦。 --------------------编程问答-------------------- end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload --------------------编程问答--------------------
引用 2 楼  的回复:
end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload


不要用“貌似”这样的词语忽悠人家。 --------------------编程问答-------------------- end是结束整个进程的。 --------------------编程问答-------------------- 关注下,感觉问题不应该出在end上 --------------------编程问答-------------------- (假定你的程序名字是myprog.exe)
将end改为
shell "taskkill /IM myprog.exe",vbHide
? --------------------编程问答--------------------
引用 1 楼  的回复:
程序有没有运行到你写了end的地方哦。



此楼正解! --------------------编程问答--------------------
引用 2 楼  的回复:
end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload



此楼的说法肯定是错的,不用去想! --------------------编程问答-------------------- 好好的程序为啥要靠end来退出呢?  养成好习惯, 加载一个对象就卸载一个对象, 即使将来换别的语言也不会错的.

--------------------编程问答-------------------- 使用end主要是想在程序已被打开过一次,再打开提示已运行然后退出;

另一个问题是:如何让程序自动把已运行的程序跳到屏幕的最前面。 --------------------编程问答-------------------- 个人最近的一个小小经验
开启主视窗后若依照需求接连开启其他窗口(并存或没UnLoad的)
最后无法用一个END去结束全部窗口
好像需先记录每个曾开启过的窗口(并存或没UnLoad的)
最后结束前要先一一关闭曾经开启过的窗口
再END起始主窗口才会正常不然执行绪有时会被卡在后台

当然极端的方式是去使用API直接砍掉该程序启动后产生的的执行绪
但是此法有可能会造成资料遗失或输出结果不正常的现象 --------------------编程问答--------------------
引用 8 楼  的回复:
引用 2 楼  的回复:

end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload



此楼的说法肯定是错的,不用去想!


你怎么知道就是错的?我上次就说过了end没法结束整个进程,有些窗体和控件释放不了 --------------------编程问答-------------------- end 可以退出程序的(结束程序的执行)
重新装一下vb看看! --------------------编程问答-------------------- 为毛我一END直接全部退出释放?
引用 12 楼  的回复:
引用 8 楼 的回复:

引用 2 楼 的回复:

end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload



此楼的说法肯定是错的,不用去想!


你怎么知道就是错的?我上次就说过了end没法结束整个进程,有些窗体和控件释放不了
--------------------编程问答-------------------- 理论上说,END是可以结束的。但实际上,复杂得多。我不得已的时候是用API结束自身进程的 --------------------编程问答-------------------- END不行的时候,unload也不会有用了。前提是代码没错 --------------------编程问答-------------------- end把整个进程都结束了的.除非你根本就没执行到end --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 应该是代码问题,而非END问题。在查查程序。会做个试验,在启动界面直接用END试试。 --------------------编程问答-------------------- 我也遇到过和楼主类似的问题,最后查出是SStab造成end失效~但是又不是每次都会遇到~ --------------------编程问答--------------------
引用 12 楼 wowfiowow 的回复:
引用 8 楼  的回复:引用 2 楼  的回复:

end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload



此楼的说法肯定是错的,不用去想!

你怎么知道就是错的?我上次就说过了end没法结束整个进程,有些窗体和控件释放不了


引用 20 楼 lixin8923 的回复:
我也遇到过和楼主类似的问题,最后查出是SStab造成end失效~但是又不是每次都会遇到~


对象引用造成的,并不是sstab就可以找出end结束不了程序.
如果a对象引用b对象,b对象以用a对象,在窗体里运行多少次end都结束不了进程.
窗体关闭,并不是就释放了窗体上的控件

自己引用,自己释放才是关键,
顶3L,9L --------------------编程问答--------------------
引用 2 楼 wowfiowow 的回复:
end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload
一个End出现在任何地方,就硬性地关掉了程序,释放所有资源阵营和对象引用 --------------------编程问答-------------------- 最简单的一种可能,你的代码有问题,系统崩溃
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,