FOXPro编译的问题假设开发的项目文件名为aa.pjx编译后可执行文件名为aa.exe项目中主程序文件名为aa.prg调用的主表单文件名为aa.scx用到的数据库文件名为aa.dbc)一、在visualfoxpro环境中正常运行通过的项目,编译成可执行文件脱离visualfoxpro运行时,系统界面一闪而过,自动退回到操作系统。因为主程序aa.prg的主要功能就是设置运行时的部分参数,调用表单aa.scx,最后返回操作系统,所以就很容易直观地在aa.prg中使用下面的语句:doformaaquit而不去使用向导使用的一系列语句:……goapp=createobject(″capplication″)……goapp.showreleasegoapp这时候就会出现上述现象。解决方法:在语句doformaa之后加上语句readevents。二、不使用系统的下拉菜单功能时,编译后的程序不能返回操作系统。用户不愿使用visualfoxpro的下拉菜单,希望通过单击表单aa.scx上的“退出”按钮,直接返回到操作系统,于是在aa.prg中加上了setsysmenuoff语句。编译后运行时会发现,“退出”按钮仅仅释放表单aa.scx,屏幕上仍留有空白的visualfoxpro窗口,单击窗口右上角的“x”或左上角下拉菜单中的“关闭”系统提示“不能退出visualfoxpro”,aa.exe无法正常结束。解决方法:将aa.prg中的readevents语句移到表单aa.scx的activate事件中,然后在“退出”按钮的click事件中thisform.release语句之前加上语句clearevents。这样,即使去掉aa.prg中的quit语句,单击表单aa.scx上的“退出”按钮,程序也可以直接返回到操作系统了(实际上aa.prg中的quit语句在编译后的程序中不起作用)。三、编译后的可执行文件运行时,运行窗口与预想的不符。在visualfoxpro中进行项目开发时visualfoxpro是占满整个桌面(屏幕)的,编译后运行时会发现,运行窗口并没有原来那么大,可能小得容不下表单aa.scx,而且窗口顶端还有不希望看到的“microsoftvisualfoxpro字样。解决方法:在aa.prg中加入下面的语句,重新设置系统变量—screen的值,从而改变运行窗口的外观:with_screen.left=80.top=20.height=400.width=480.caption=″灵璧人行行员信息统计系统″endwith四、编译后运行窗口左上角的图标不合意愿。编译后的文件运行时,运行窗口左上角带有微软的windows图标,用户希望换成自己喜爱的图标。解决方法:在主菜单的“项目”栏下调出“项目信息”对话框,选中“附加图标”,就可以在系统的提示下选用合适的.ico图标文件来代替默认的微软图标。解决了上述几个问题后,在visualfoxpro中就可以摆脱向导进行项目的开发、编译,其结果会比用向导帮助完成的项目更简洁、更实用、更能符合自己的需要。