文件 'cenas2.prg' 不存在
File 'cenas2.prg' does not exist
我已经尝试这样做了一段时间,但我不知道该怎么做。我想调用一个从外部 .prg 文件到另一个 .prg 的过程。
所以,为此,我这样做:
SET PROCEDURE TO cenas2.prg Additive \ cenas2.prg is the filename with the procedure called myproc inside
Do myproc
我的问题是,当我 运行 时出现错误:文件 'cenas2.prg' 不存在。
所以,我运行下面的代码:
WAIT WINDOW 'Path: ' + SET('PATH') + CHR(13)+CHR(10) + 'Default drive: ' + SET('Default') + CHR(13)+CHR(10) + 'Current directory: ' + CURDIR()
我得到了:
路径:
默认驱动器 C:
当前目录:\PHC20CRP\
cenas2.prg 位于 PHC20CRP 内部,并且 当我 运行 文件("cenas2.prg")它 return我是真的,所以我认为 return 当我尝试设置程序时我的文件不存在没有任何意义。
谁能帮帮我??
谢谢
只需使用完整路径:
set procedure to ("c:\PHC20CRP\cenas2.prg") additive
与其将过程设置为然后使用过程,不如在不将过程设置为的情况下执行代码可能更安全。即:
do myProc In ("c:\PHC20CRP\cenas2.prg")
我更喜欢这种风格,因为我可以轻松地执行不同程序文件中同名的程序。使用 "set procedure" 方法,执行哪一个取决于实例化的顺序并且不可预测。
已经发现问题了。我不得不在过程中强制使用一个参数,否则它不会执行。感谢您的帮助!
让我问你这个。你的 cenas2.prg 是一个单一的例程吗?而不是包含许多过程和函数的程序文件。如果是这样,则不需要 SET PROCEDURE TO,您应该可以直接调用它,只需将其作为项目的一部分即可。
通常,"SET PROCEDURE" 文件是单个 .prg 文件中的一堆例程,因此您不会有数十个甚至数百个通用例程使您的开发文件夹膨胀,例如
*/ This is MyProcedureFile.prg
function oneFunc()
...
endfunc
procedure someOtherProc()
...
endproc
function specialTest()
...
endfunc
*/ End of this complete .prg
那么你会
将程序设置为 MyProcedureFile 添加剂
并且所有功能对应用程序可见。如果您的 .prg 文件本身就是唯一的例程,则不需要 SET PROCEDURE TO。
我已经尝试这样做了一段时间,但我不知道该怎么做。我想调用一个从外部 .prg 文件到另一个 .prg 的过程。
所以,为此,我这样做:
SET PROCEDURE TO cenas2.prg Additive \ cenas2.prg is the filename with the procedure called myproc inside
Do myproc
我的问题是,当我 运行 时出现错误:文件 'cenas2.prg' 不存在。
所以,我运行下面的代码:
WAIT WINDOW 'Path: ' + SET('PATH') + CHR(13)+CHR(10) + 'Default drive: ' + SET('Default') + CHR(13)+CHR(10) + 'Current directory: ' + CURDIR()
我得到了:
路径:
默认驱动器 C:
当前目录:\PHC20CRP\
cenas2.prg 位于 PHC20CRP 内部,并且 当我 运行 文件("cenas2.prg")它 return我是真的,所以我认为 return 当我尝试设置程序时我的文件不存在没有任何意义。 谁能帮帮我??
谢谢
只需使用完整路径:
set procedure to ("c:\PHC20CRP\cenas2.prg") additive
与其将过程设置为然后使用过程,不如在不将过程设置为的情况下执行代码可能更安全。即:
do myProc In ("c:\PHC20CRP\cenas2.prg")
我更喜欢这种风格,因为我可以轻松地执行不同程序文件中同名的程序。使用 "set procedure" 方法,执行哪一个取决于实例化的顺序并且不可预测。
已经发现问题了。我不得不在过程中强制使用一个参数,否则它不会执行。感谢您的帮助!
让我问你这个。你的 cenas2.prg 是一个单一的例程吗?而不是包含许多过程和函数的程序文件。如果是这样,则不需要 SET PROCEDURE TO,您应该可以直接调用它,只需将其作为项目的一部分即可。
通常,"SET PROCEDURE" 文件是单个 .prg 文件中的一堆例程,因此您不会有数十个甚至数百个通用例程使您的开发文件夹膨胀,例如
*/ This is MyProcedureFile.prg
function oneFunc()
...
endfunc
procedure someOtherProc()
...
endproc
function specialTest()
...
endfunc
*/ End of this complete .prg
那么你会
将程序设置为 MyProcedureFile 添加剂
并且所有功能对应用程序可见。如果您的 .prg 文件本身就是唯一的例程,则不需要 SET PROCEDURE TO。