荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Peter (小飞侠), 信区: Program
标  题: Foxpro中宏替换 &调用子过程的编译技巧
发信站: BBS 荔园晨风站 (Wed Jan 27 17:54:26 1999), 转信


    Foxpro数据库开发系统具有将源程序编译为可执行文件(exe文件
)的功能,使得最终用户程序可以独立于Foxpro的开发环境而直接在DO
S下运行。这样,不仅提高了程序的运行速度, 增强了程序的安全保密
性,同时也有利于程序的安装和推广。
    在简单Foxpro的数据库系统中,子过程在主过程中的调用一般采
用直接的方式,编译时, 在项目文件管理器(Project)中只须建立主过
程名。编译执行时,主过程调用的所有子过程被自动地连接起来,编译
后生成一个.EXE可执行文件。该文件容纳了数据库系统的所有功能,
系统运行时可在DOS提示符下键入该.EXE文件即可,十分方便。
    但在较复杂的管理系统中,开发者往往为了简化程序结构和缩短
主程序长度,在多项子过程选择调用时,执行语句用宏替换"&"完成,使
主程序与子程序之间调用关系看起来简单明了。但在编译时如果在项
目文件管理器中只建立主程序名,则编译过程中系统无法将宏替换"&
"代表的各子程序全部连接起来。欲使编译后生成的任何可执行文件
能够正常运行,在相应子目录下还须有各子程序相应的.prg文件或相
应的fxp文件。这样又失去了编译文件的意义,笔者在用Foxpro实际开
发管理系统过程中发现,可以用如下方法巧妙地解决这一问题。
    Foxpro编译器的项目文件管理器是按照文件名的ACSII码由小到
大对主程序和子程序进行自动排序。在编译时,按这个顺序将各个子
程序和主程序依次连接起来,生成一个可执行文件。在DOS提示符下直
接执行这个可执行文件,发现第一个被执行的程序是其文件名的ASCII
码的值不是所有子程序中ASCII码值最小者,生成的可执行文件在执
行时并不首先执行主程序。为了使主程序能够第一个被执行,有效地
解决方法是使主程序的文件名的ASCII码的值都小,各子程序之间即使
有相互调用关系,也与连接时先后关系无关。在编译器的项目管理器(
pr oject)中将所有子程序(包括主程序)文件名选入,可以发现主程序
名排在第一位,然后执行编译, 即可生成一个完整的可执行文件(exe
文件)。该文件容纳了数据库系统的所有功能,可以独立于Foxpro的开
发环境而直接在DOS下运行。

--

--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.3]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店