vfp新建一个工程,向里面加了程序。路径的问题!?
vfp新建一个工程,向里面加了程序。编译成a.exe,该程序中用do调用了另外的几个prg,(1.prg;2.prg)。发现如果a.exe;1;2.prg放在同一目录下,运行ok;可是把a.exe放在其他地方,就报:1.prg not exist!请问如何把exe放在和prg不同的目录下而不会找不到?
另外:在vfp里面用demsion申请了一个数组,是用clear all,还是clsoe all来清空内存,还是别的?
问题点数:60、回复次数:18Top
1 楼spblue(青竹)回复于 2001-11-28 15:46:13 得分 5
设置搜索路径:set path toTop
2 楼zwcboys(kkkdy)回复于 2001-11-28 15:57:17 得分 0
我的文件是这样的:
d:\temp\a.exe;
d:\temp\a.pjt;
d:\temp\bak\a.prg;a.exe的源程序
d:\temp\bak\1.prg;
d:\temp\bak\2.prg;
在a.exe的源程序里,这样调用1,2.prg的:
..
..
do d:\temp\bak\1
do d:\temp\bak\1 ;
运行d:\temp\a.exe报错:1.prg没有!用set path to
set path to d:\temp\bakdo d:\temp\bak\1
do d:\temp\bak\1 ;
运行报错:无效的路径名!??????????
Top
3 楼nononono(null,null)回复于 2001-11-28 16:42:26 得分 10
如果你没有把1.prg加入到工程中一起编译, 则在调用时要给出相对/绝对路径, 而且应该给出扩展名. 试试下面这样可行否:
do d:\temp\bak\1.prg
或
do bak\1.prg
Top
4 楼nononono(null,null)回复于 2001-11-28 16:48:25 得分 5
VFP中使用数组已经可以直接同变量声明一样了
local aa[10,10], bb
aa[1,1] = 0.123
bb = 123
用local声明的变量只在当前子程序中有效, 当前子程序执行完毕, 该数组会自动释放.
也可以用private声明变量, 在当前子程序中以及下级子程序中有效.
如果要在子程序结束前释放变量/数组aa, 可如下:
relea all like aa
Top
5 楼zwcboys(kkkdy)回复于 2001-11-28 17:02:40 得分 0
还是不行,我的操作是这样的:
a.prg,1.prg,2.prg均在d:\temp\bak\下
1:new一个工程,add code 下的programs:a.prg
2:在a.prg中改:do d:\temp\bak\1.prg
3:build a.prg->在d:\temp\a.exe
运行a.exe,报错!打开vfp,打开d:\temp\bak\a.prg,run,一切ok!Top
6 楼cs_sqs(高龄菜鸟)回复于 2001-11-28 17:19:29 得分 5
有个问题我十分不解:为什么不把那两个prg文件一起连编到exe文件呢?Top
7 楼zwcboys(kkkdy)回复于 2001-11-28 17:19:42 得分 0
还一个问题:
run temp.prg时报:c:\temp\temp.fxp is not a object file,?为什么?Top
8 楼nononono(null,null)回复于 2001-11-28 17:22:43 得分 5
RUN 用于调用 EXE/COM/BAT
PRG 应该用 DO.Top
9 楼zwcboys(kkkdy)回复于 2001-11-28 17:24:49 得分 0
cs_sqs(高龄菜鸟) 不好意思,我是第一次用vfp,连编还不知道如何用,请指教!谢谢!
是不是就是在build选项下的rebuild project?Top
10 楼zwcboys(kkkdy)回复于 2001-11-28 17:31:34 得分 0
nononono(null,null)
哦,真的;
可是我以前的prg都是用ctrl+e,一样的可以呀?Top
11 楼nononono(null,null)回复于 2001-11-28 17:44:13 得分 0
如果不是特别的需要, 你应该把1.prg/2.prg都加到Project中, 这样在连编成EXE后应该不必考虑路径.Top
12 楼zhangshzh(joe)回复于 2001-11-28 17:56:46 得分 5
9494Top
13 楼skytears(苦)回复于 2001-11-28 18:59:23 得分 10
set path to sys(?):?是一个值我记不清了你查一下资料。 sys(?)可测出你的当前路径。如你所说即为set path to d:\temp
后面就可以用相对路径了如do bak\a.prgTop
14 楼zwcboys(kkkdy)回复于 2001-11-30 13:07:55 得分 0
ok!Top
15 楼zwcboys(kkkdy)回复于 2001-12-04 13:07:49 得分 0
jia Top
16 楼liujianjun_(流星尔)回复于 2001-12-04 15:02:43 得分 5
我觉的应用程序所在的路径不用设反而方便,可以在制作安装盘的过程中来完成。只要在安装程序的第6步指定程序的指定可执行文件前加上%s即可。Top
17 楼liujianjun_(流星尔)回复于 2001-12-05 10:27:21 得分 5
加份了Top
18 楼zwcboys(kkkdy)回复于 2001-12-05 12:55:20 得分 5
ok!Top




