12.3.1 管理应用程序
一个Visual FoxPro项目包含若干独立的组件,这些组件作为单独的文件保存。例如,一个简单的项目可以包括表单(.scx文件)、报表(.frx文件)和程序(.prg和.fxp文件)。除此之外,一个项目经常通常包含一个或者多个数据库(.dbc文件)、表(保存在.dbf和.fpf文件中)及索引(.cdx和.idx文件)。一个文件若要被包含在一个应用程序中,必须添加到项目中。这样,在编译应用程序时,Visual Fox Pro会在最终的产品中将该文件作为组件包含进来。
下面的几种方法,可以很方便地将文件添加到项目中:
(1)使用应用程序向导,可以建立项目和添加文件。
(2)如果要自动向一个项目添加新的文件,请打开该项目,然后在“项目管理器”中新建文件。
(3)要向一个项目添加已有的文件,请打开项目,使用“项目管理器”。
一、项目的建立
前面已经要求大家将所有与系统相关的文件全部放于c:\jxxt?文件夹,现在我们可先执行一条set default to c:\jxxt的命令。
在命令窗口中输入命令:
MODI PROJECT jxxt
就会出现一个JXGL的项目管理器窗口(如图12-25)。命令中的jxgl是项目的文件名,其默认的扩展名为.PJX,项目文件还有一个备注文件,其主名与项目文件同名,扩展名为.pjt。
图12-25 项目管理器
当然利用其他方式,如菜单的“新建”菜单项,也可建立新的项目。还可通过“打开”菜单项,打开一个已有的项目。
二、项目管理器中的主文件
若项目包含程序、菜单或表单,则其中必然有一个为主文件。项目管理器中的主文件有几个特点:
(1)主文件名以粗体显示。
(2)主文件一旦确立,项目连编时会自动将各级调用文件加入项目管理器窗口,但数据库、表等数据文件不会自动加入。如果添加的文件在项目管理器中没有该类型,则可将其加入到“其他文件”这一类中。
(3)VFP默认添加到项目的第一个程序、菜单或表单为主文件。通常将应用程序中最上层的文件设置为主文件。假如要改变主文件,可采用如下方法:在项目管理器中选定一个程序(或菜单,或表单)作为主文件,然后选定项目菜单的“设置主文件”命令,该文件就以粗体显示。
三、文件的包含与排除
当要将一个项目编译成一个应用程序时,所有项目包含的文件将组合为一个单一的应用程序文件。在项目连编之后,项目中标记为“包含”的文件的属性变为只读。
作为项目一部分的文件(如表)可能经常会被用户修改。在这种情况下,应该将这些文件添加到项目中,并将文件标记为“排除”。排除文件仍然是应用程序的一部分,因此Visual FoxPro仍可跟踪,将它们看成项目的一部分。但是这些文件没有在应用程序的文件中编译,所以用户可以更新它们(Visual FoxPro假设表在应用程序中可以被修改,所以默认表为“排除”)。
作为通用的准则,包含可执行程序(如表单、报表、查询、菜单和程序)的文件应该在应用程序文件中被标记为“包含”,而数据文件则被标记为“排除”。但是,可以根据应用程序的需要包含或排除文件。例如,一个文件如果包含敏感的系统信息或者包含只用来查询的信息,那么该文件可以在应用程序文件中设为“包含”,以免不留心被修改;反之,如果应用程序允许用户动态更改一个报表,那么可将该报表设为“排除”。
如果将一个文件设为排除,必须保证Visual FoxPro在运行应用程序时能够找到该文件。例如,当一个表单引用了一个可视的类库,表单会存储此类库的相对路径。如果在项目中包含该库,则该库将成为项目的一部分,而且表单总能找到该库。但是,如果在项目中将该库排除,表单会使用相对路径或者Visual FoxPro的搜索路径(使用SETPATH命令来设置的路径)查找该库。如果此库不在期望的位置(例如,如果在建立表单之后把类库移动了),Visual Fox Pro会显示一个对话框来询问用户以指定库的位置(也许您不想让用户看到该对话框),为安全起见,可以将所有不需要用户更新的文件设为包含(应用程序文件(.app)不能设为包含,对于类库文件(.ocx、.fll和.dll)可以有选择地设为排除)。
若要排除可修改文件,可按如下操作:
(1)在“项目管理器”中,选择可修改文件。
(2)从“项目”菜单中,选择“排除”选项。
如果已经排除了该文件,“排除”选项将不可用,“包含”选项将取而代之。排除的文件在其文件名左边有排除符号(标记为主文件的文件不能排除)。
四、连编
编译一个项目的最后一步是连编。此过程的最终结果是将所有在项目中引用的文件(除了那些标记为排除的文件)合并成一个应用程序文件。并可将应用程序文件和数据文件(以及其他排除的项目文件)一起发布给用户,用户便可运行该应用程序。
在项目管理器中选定“连编”按钮,则会显示一个如图12-26所示的连编选项对话框,该对话框允许创建一个自定义应用程序或者刷新现有项目。现在我们先对连编选项对话框的主要组件进行说明:
1.操作区的选项按钮
(1)重新连编项目:该选项对应于VFP的BUILD PROJECT命令。用于编译项目中的所有文件,并生成项目文件或项目备注文件。
(2)连编应用程序:该项对应于VFP的BUILD APP命令,用于连编项目,并生成以.APP为扩展名的应用程序。但该文件只能在VFP系统环境中运行。
(3)连编可执行文件:该项对应于VFP的BUILD EXE命令,用于连编项目,并生成以.EXE为扩展名的可执行文件。.EXE文件也可在开发环境中运行,但它还可以在Windows环境中独立运行。
图12-26 “连编选项”对话框
2.选项区的复选框
(1)重新编译全部文件:用于重新编译项目中的所有文件。
(2)显示错误:用于指定是否显示编译时遇到的错误。
(3)连编后运行:用于指定连编应用程序后是否马上运行。
(4)重新生成组件:安装并注册包含在项目中的自动服务程序(Automation Server)。
选定时,该选项指定当连编程序时生成新的GUID(全局惟一标识)。只有“类”菜单的“类信息”对话框中标识为“OLE Public”的类能被创建和注册。当您选定“连编可执行文件”或“连编COM DLL”,并已经连编包含OLE Public关键字的程序时,该选项才可用。
3.版本按钮
显示“EXE版本”对话框,允许指定该系统的版本号以及版本类型。当从“连编选项”对话框中选择“连编可执行文件”或“连编COM DLL”时,该按钮才出现。
4.利用项目管理器建立应用程序的具体步骤
(1)测试项目
为了对程序中的引用进行校验,同时检查所有的程序组件是否可用,可以对项目进行测试。为此,需要重新连编项目,这样Visual FoxPro会分析文件的引用,然后重新编译过期的文件。
若要测试一个项目,可采用如下步骤:
①在“项目管理器”中,选择“连编”。
②在“连编选项”对话框中,选择“重新连编项目”。
③选择任意所需的其他选项,选择“确定”。
或者,使用BULD PRLJECT命令。
例如,为了连编一个名字为MYPROJ.PJX的项目,请键入:
BUILD PROJECT myproj
如果在连编过程中发生错误,这些错误会集中收集在当前目录的一个文件中,名字为项目的名称,扩展名为.err。编译错误的数量显示在状态栏中,也可以立刻查看错误文件。若要立刻显示错误文件,可选择“显示错误”复选框。
当成功地连编项目之后,在建立应用程序前应该试着运行该项目。若要运行应用程序,在“项目管理器”中,选中主程序,然后选择“运行”;或者,在“命令”窗口中,执行一个带有主程序名的DO命令:
DO mainprog.prg
如果程序运行正确,可以开始连编成应用程序文件,该文件会包括项目中所有“包含”文件。
当向项目中添加组件时,应该重复项目的连编和运行。如果没有在“连编选项”对话框中选择“重新编译全部文件”,那么只重新编译上次连编后修改过的文件。
(2)从项目中连编应用程序
若要从应用程序建立一个最终的文件,需要将它连编为一个应用程序文件,该文件带有.app的扩展名。若要运行该应用程序,用户需首先启动Visual FoxPro,然后加载该.app文件。
从一个项目中,可以建立应用程序文件(.app)或者可执行文件(.exe)。如果用户有一个完整的Visual FoxPro副本,则可以运行一个.app文件。另外一个选择方案是建立一个可执行文件。该可执行文件需要和两个Visual FoxPro动态连接库(Vfp6r.dll和Vfp6enu.dll)连接,这两个库和应用程序一起构成了Visual FoxPro所需的完整的运行环境。VFPxxx.DLL指定用于应用程序开发的地区版本。有关详细内容,请参阅有关资料。
若要连编一个应用程序,可采用如下步骤:
①在“项目管理器”中,选择“连编”按钮。
②在“连编选项”对话框中,选择“连编应用程序”,生成.app文件;或者“连编可执行文件”以生成一个.exe文件。
③根据需要选择其他选项并选择“确定”按钮。
或者,使用BUILD APP或BUUILD EXE命令。
例如,若要从项目Myproj.pjx连编得到一个应用程序Myapp.app,可键入:
BUILD APP myapp FROM myproj
如果要从一个名字为MYPROJ.PJX的项目文件中建立一个可执行的应用程序MYAPP.EXE,请键入:
BUILD EXE myapp FROM myproj
需要说明的是:使用“连编”对话框,可以从Visual FoxPro应用程序中建立一个自动服务程序(Automation Server)。
当为项目建立了一个最终的应用程序文件之后,用户就可运行它了。
若要运行.app应用程序,可以从“程序”菜单中选择“运行”命令,然后选择要执行的应用程序。或者,在命令窗口中,键入DO和应用程序文件名。例如,要运行应用程序MYAPP,可键入:
DO myapp.app
如果从应用程序中建立了一个.exe文件,用户可以使用如下几种方法运行该文件:
①在Visual FoxPro中,从“程序”菜单中选择“运行”,然后选择一个应用程序文件;或者在命令窗口中,使用DO命令,该命令带有所要运行的应用程序名。
例如,要运行一个名字为Myapp.exe的.exe文件,请键入:
DO myapp.exe
②在Windows中,双击该.exe文件的图标。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。