一个应用软件,如果没有一个主程序(这像一棵树,没有树干,充其量好象只能是灌木了吧),没有一根主线,很难想象在编程时该怎么写代码?怎样控制程序的流程?(当然不是非得有主程序不可 ^_^ )
作为一个主程序,应该包括哪些内容或者说是哪些功能?鄙人以为:
1、初始化环境(我习惯在Config.Fpw中设置)
2、初始化系统变量
3、初始化界面(这要根据需要而定)
……
有些程序为了适应客户要求,需做些LOGO界面,问题有了(这问题可能也算是本论坛的精华问题之一吧):
如何去掉Visual FoxPro的主窗口?
首先:Modify Command Config.fpw(建立资源文件)
以上各个设置并非必须,我把以前一个程序的设置拷贝过来的,由于时间关系(我写文章的热情一般最多保持半个小时 :( ),这里不作一一说明。
其次,在你的主程序的第一语句写上(必须是第一语句,这样当程序运行时,不论机器速度如何,界面过渡会显得最完美):
如何防止客户重复启动!!!
由于编程的要求及其他方面的问题,客户无意中重复启动应用程序往往可能会造成不可预测的问题(当然,如果在编程时就考虑到数据共享、重复运行等因素,则客户完全可以多次打开一个应用软件,一边删、一边改)。
经常在论坛的人大都知道两种以上的方法,我这儿呢一股脑儿全列出来,大家自己摸摸!!
如何防止应用软件重复启动(1)
在应用软件启动后,在硬盘上留下一个特定的文件。这种方法只要在启动时检测一下这个文件是否存在,作一个判断即可。
存在缺陷:当应用软件由于不可预见的情况,非正常退出的情况下,该文件得不到及时删除,怎么办?
我KAO,想出来了,这个特定的文件为任一空的数据表,在应用软件中以独占方式找开它,那么当第二次再需打开会提示出错。
如何防止应用软件重复启动(2)
用FindWindow 及ShowWindowAsync API函数:
存在缺陷:无法判断窗口标题动态变动的情况
如何防止应用软件重复启动(3)
用程序特定的类及相关的特性综合判断,先用GetClassName取得应用软件的类名,再根据类名查找是否有同样的窗体存在,以下是一个简单的相关示例:
这是一个框框而已,你可以根据应用程序的各种不同的特征,来检测是否有窗体存在。
存在缺陷:如何“设置”应用软件的特定的类信息我自己搞糊涂了,如何能在应用软件中设置特定的类信息,那才能做到“完美无缺”
如何防止应用软件重复启动(4)
——好象是刚才论坛里搞出来的,是谁定的,说一声 ^_^
内存映谢文件防止应用应用程序运行
注:在程序结束处别望了一定要:
以上经测试效果也相当不错,由于本人水平有限,对于用这种方式会不会造成多占用内存(应该说对于CreateFileMapping API函数的功能不清楚吧!),心里没底,反正大家再试试!!
…………
方法是多种多样的,大家再讨论讨论。
如果有初始化的界面,那么接下去…………
主程序的最后应该是设置应用软件的路径、背景等设置,最后——显示界面。
今个活特多,不写了。对了,下面拷贝一个我刚写完的主程序,大家看看。
写在最后面的话
加菲猫的vfp倡导用VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发。
已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联 时代,接下来我们要进入物联 领域。
2021年会员继续招募中
会员获取的权益有:
祺佑三层开发框架商业版(猫框),终身免费升级,终身技术支持。
开放的录播课程有:
源码类资源有:
支付组件源码,短信源码,权限组件源码,一些完整系统的源码。
会员也可以实现群内资源对接,可以接分包,合作等各项商业或技术业务
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!