有没有办法在 Progress-4GL 中使用预处理器指令?

Is there a way to use preprocessor directives in Progress-4GL?

我正在使用 Progress-4GL,版本 11.6。

中所述,我现在使用动态查询,如下所示:

CREATE BUFFER h-Table1 FOR TABLE "Table1" NO-ERROR.
IF VALID-HANDLE(h-Table1)
...

我已将这段代码放入 *.i 文件中,我将其包含为:

{incl\include_file.i}

我只想将这个包含文件放在某些客户的系统中。但是,这会导致其他客户出现编译问题。

有没有办法说(C风格的预处理器):

#IF <condition>
#THEN {incl\include_file.i}

如果是,我可以在这样的预处理器指令中使用什么条件?

提前致谢

是的,请参阅 documentation

&if <whatever> &then
   { incl/include_file.i }
&endif

您要将源代码部署到客户的系统吗?如果不是,那么预处理器将无法帮助您,因为它是作为 compile 语句的一部分进行评估的。当您使用预处理选项编译文件时,您可以看到预处理的结果,结果是您的源代码以及所有预处理器的评估。