Progress 4gl中编译期间的文件名

时间:2013-10-11 12:30:58

标签: preprocessor progress-4gl openedge

我想对文件进行编译时测试。设置如下。

1. We have procedure files proc1.p, proc2.p, ... proc1000.p.
2. All procedure files proc1.p, proc2.p, ... proc1000.p have a common include file incl.i

我想在incl.i中有pre-process变量,它带有父过程的名称,以便在编译期间调用不同的行为。

我尝试了什么

/ * incl.i * /    & SCOPED-DEFINE procName {& FILE-NAME}

这不起作用{& FILE-NAME}评估包含文件的名称。

现在,THIS-PROCEDURE:FILE-NAME保存过程文件的名称,但在编译时不知道。

有什么想法吗?我不想在include中添加新的输入参数 - 从而更新proc1.p ... proc1000.p。

1 个答案:

答案 0 :(得分:3)

预处理器是走向地狱的道路......但如果你坚持你可以在父程序中创建一个& GLOBAL-DEFINE。像这样:

/* parent.p
 */

&GLOBAL-DEFINE parentName {&FILE-NAME}

{include.i}


/* include.i
 */

display "{&parentName}".