赵庆祺
(甘肃省天水市职业技术学校,甘肃 天水 741000)
在VFP数据库编程中,我们经过大量设计、编程、制作等系列工作,最后通过反复调试,编制完成了一个完整的VFP应用系统。但此时我们主要通过应用系统的主程序(主窗体)来执行应用系统,给用户带来了极大的不便,而且最大的问题是,应用系统必须在VFP环境下才能运行。为此,本文将系统介绍VFP数据库编程中建立可执行文件的方法和技巧。
在将VFP应用程序编译成.EXE文件之前,我们对项目文件要有全面的认识和掌握,必须做好编译前必做的一些工作。
编程者需要建立应用系统项目文件.PJX,其中包含数据库、数据表、窗体文件等,此时所有窗体必须包含在项目文件中,如果有的窗体没有在项目文件中,我们就必须把没有包含的窗体加入到项目文件.PJX中去。然后,根据系统的设计来设置我们确定的主窗体,这点非常重要。
设置完数据库和主窗体后,下一步工作是重新连编项目。单击“连编”按钮,进入“连编选项”窗口,选择“重新连编项目”,确定即可。重新连编项目完成后,回到“项目管理器”,我们就会发现,主窗体调用到的所有子窗体都已自动加入到项目文件.PJX中。此外,我们还发现主窗体调用到的所有报表文件、标签文件也都自动加入到项目文件.PJX中。
主程序(主窗体)就是一个应用系统刚开始要执行的窗体。一般情况下,我们建立的第一个窗体默认为系统的主程序,其字体较粗,当然,我们可以根据设计需要来任意设置我们的主程序。
一个应用系统的主程序不一定是窗体文件,程序文件.PRG、菜单文件.MNX都可以作为主程序。默认情况下,如果加入的第一个窗体文件不作为主程序,系统便会误认为其它窗体文件为主程序。遇到这种情况,我们可以重新设置应用系统的主程序,打开项目文件,在要设置的窗体文件上右击,在弹出的快捷菜单中选取“设置主程序”选项,则此窗体文件名字体变粗,说明此窗体文件已被设置为主程序。
打开一个完整的应用系统项目文件后,我们发现有些文件前带有斜线的圆圈,这说明此文件已从项目中排除(Exclude),相反的,文件前没有带有斜线的圆圈说明文件是被项目包含(Include)的。这里我们必须清楚,被设置为包含(Include)的文件,将来在应用系统编译成可执行文件.EXE时,会一起放入可执行文件.EXE中,而设置为排除(Exclude)的文件,将来在应用系统编译成可执行文件.EXE时,就不会放入可执行文件.EXE中。一般情况下,数据库、数据表加入项目时,会自动设置为排除(Exclude),而其它文件则会设置为包含(Include)。但数据库、数据表都必须和可执行文件.EXE一起交付给用户。设置包含(Include)和排除(Exclude)的方法也很简单,打开项目文件,在要设置的文件上右击,在弹出的快捷菜单中选取包含或排除选项。
项目文件本身就是一个数据表格式的文件,VFP利用一个DBF文件的格式来保存应用系统所包含的各类相关文件。项目文件.PJT是数据表说明文件,每当我们在项目文件中添加一个文件时,项目文件.PJX就增加一条相应的记录,当我们在项目文件中删除一个文件时,项目文件.PJX就减少一条相应的记录。但默认情况下,删除文件只做逻辑删除,所以会留下大批加注删除记号的记录,造成存储空间的浪费,因此我们要经常整理项目文件,也就是对已删除记录做物理删除。其方法是,利用项目菜单中的“清理项目”,便可整理项目。
VFP将应用系统编译生成可执行文件.EXE后,编译完成的可执行文件.EXE在VFP中可通过调用DO命令来执行,此时,不需要进入VFP就可以直接执行。但由于通过“项目管理器”编译生成的可执行文件.EXE,并不是真正的可独立执行文件,所以不进入VFP执行时,仍然必须要有VFP6R.DLL、VFP6RCHS.DLL两个动态链接库才能执行。这两个文件位于WINDOWSSYSTEM目录里,但是用户使用的VFP必须在完全安装或自定义安装时选取“Microsoft Visual FoxPro执行阶段”项目,这两个文件才会生成。因此,我们要在没有安装VFP的PC上直接执行可执行文件.EXE时,WINDOWSSYSTEM目录里必须要有VFP6R.DLL、VFP6RCHS.DLL两个动态链接库。
(1)打开项目文件,单击“连编”按钮,进入“连编选项”窗口,共有4个单选和2个复选选项。
1)选择“重新连编项目”单选按钮,系统会重新扫描编译项目文件所包含的所有文件,如果发现主程序需要但没有加入的文件,系统都会自动加入项目文件中。
2)选择“连编应用程序”单选按钮,系统会将应用系统编译成.APP文件,系统会将项目文件所包含的所有文件自动加入项目文件中,但一定要通过VFP才能执行,所以我们建议一般不要选择此项。
3)选择“连编可执行文件”单选按钮,系统会将应用系统编译成.EXE文件,并且可以不通过VFP便能执行,所以我们一般选择此项。
4)选择“连编COM DLL”单选按钮,系统会将应用系统建立一个具有.DLL附加名称的动态链接库。
5)选择“重新编译全部文件”复选按钮,系统编译应用系统编译成.EXE文件时,是否重新编译连编项目文件中的所有文件。此复选项在连编.EXE时,我们一般要选择。
6)选择“显示错误信息”复选按钮,在系统编译应用系统时,如果发现错误,会自动将错误信息保存在.ERR文件中。
(2)一般生成可执行文件的过程
1)选择“连编可执行文件”单选按钮;
2)选择“重新编译全部文件”复选按钮;
3)选择“显示错误信息”复选按钮;
4)按“版本”按钮,弹出“EXE版本”窗口,我们输入相应的版本编号及其它信息。
5)输入版本编号及其它信息后,选取“自动增加”复选框。按“确定”按钮,弹出“另存为”窗口,输入可执行文件名,选择保存路径,按“保存”按钮,便可自动建立可执行文件。
通过上面步骤,我们利用应用系统编译成.EXE文件,此时,我们可以把.EXE文件、数据库、数据表及VFP6R.DLL、VFP6RCHS.DLL拷贝到其它计算机的适当目录。但是,这样操作不但繁琐,而且还不能保证应用系统能正常执行。这是因为如果我们利用安装向导建立安装程序的话,除了拷贝以上所有程序外,还会给应用系统注册多个.DLL与ActiveX文件,这是仅靠项目管理器无法完成的。
因此,我们把应用系统编译成.EXE文件完整移交给用户时,一定要通过“安装向导”来包装应用系统,并且制作安装磁盘,给用户使用带来很大的方便。利用“安装向导”可帮助应用系统制作一安装程序,其中包含SETUP.EXE文件、信息文件和压缩过的应用程序文件。这样,用户拿到系统后,可以像使用其它软件一样,执行SETUP.EXE进行安装,然后去执行应用。
下面,我们利用“安装向导”来制作安装磁盘。
在使用“安装向导”制作安装磁盘之前,我们首先要自己建立一目录,称为“分送目录”,这个目录用来存放要安装到其它计算机的所有文件,一般包括:
(1)编译好的.EXE文件
(2)数据库、数据表、索引文件
(3)VFP的CONFIG.FPW组态文件
(4)VFP的资源文件(FOXUSER.DBF FOXUSER.FPT)
(5)ReadME.TXT说明文件
前两种文件一定要放入“分送目录”中,其它文件按自己设计的需要来确定,VFP的资源文件(FOXUSER.DBF FOXUSER.FPT)和ReadME.TXT说明文件是用来存储窗口信息及说明文件。“分送目录”中可以是任何形式,甚至可以包含子目录,但有一点必须注意,应用系统的.EXE文件必须放在“分送目录”的最上层,不能放在子目录中。制作安装磁盘的过程很简单,只要按照向导提示操作即可完成。
经过以上操作,我们完整地建立了可脱离VFP环境的可执行文件,并且制作了安装磁盘,进而导出了可脱离VFP环境运行的应用程序文件,可以完整地交付给用户,用户可以像使用其它软件一样,执行SETUP.EXE进行安装,使应用系统在脱离VFP的环境下也能正常运行,方便了用户的使用。
参考文献:
[1]曾军,陈玲.V F P应用程序如何生成可执行文件的方法探讨[J].电脑开发与应用,2010(8):74-75.
[2]郭柱祥.学校固定资产清查的数据处理——基于V F P的程序设计[J].电脑知识与技术,2015(3 X):3-4.