为什么我无法在 appBuilder 中打开 *.w 文件?



我有一个*。w文件,引用两个包含文件({inclinclude_file.i}, {incldo_something_file.i})。第一个include-file包含一个RECID变量"recordid":

的定义。
  DEF INPUT-OUTPUT PARAMETER recordid      AS RECID.

我能够编译*。W文件,清单文件如下所示:(只是一个片段)

Prompt>findstr "recordid do_something" listing.txt
...
 1    x       DEF INPUT-OUTPUT PARAMETER recordid      AS RECID.
...
 1    x   1   {incldo_something_file.i
 2    x   1 INPUT-OUTPUT recordid

所以,编译成功了。最重要的是,我检查了& & analysis - suspend &;和",ANALYZE-RESUME"条款和一切都很好。

然而,我打不开*。w文件,因为上面提到的recd似乎不知道(错误201和196)。

在第一个注释后编辑这正是我打开*时得到的错误信息。. w文件,使用AppBuilder(我使用的是该工具的荷兰语版本,因此中间有荷兰语):

---------------------------
Fout
---------------------------
This file cannot be analyzed  by the AppBuilder. 
Please check these problems in your file or environment: 
** Onbekende veld- of variabelenaam - recordid. (201)
** .incl<do_something_file>.i Compilatiefout op regel 7. (196)
---------------------------
OK   
---------------------------

编辑ANALYZE-子句的更多信息我在我的代码中启动了以下findstr命令,结果如下:

Prompt>findstr /I "ANALYZE-RESUME ANALYZE-SUSPEND" <filename>.w
&ANALYZE-SUSPEND _VERSION-NUMBER ... GUI
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS ...
&ANALYZE-RESUME
...

我确认&ANALYZE-SUSPEND子句的数量等于&ANALYZE-RESUME子句的数量,它们的顺序是正确的(首先是SUSPEND,然后是RESUME),它们都没有被注释掉。

有谁知道出了什么问题吗?

这个问题是由包含引起的,在suspend resume子句之外,为了解决这种情况,下面的命令可能是有用的:

findstr /I "ANALYZE {incl" <source_file>.w
结果应该如下所示:
...
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK C-Win
{inclsomething.i}
{inclsomething_else.i}
&ANALYZE-RESUME
...

规则如下:

  1. 挂起数和恢复数必须相等
  2. 每次挂起都要通过恢复来关闭。
  3. 这些都不能被注释掉
  4. 建议在挂起和恢复之间包含。

最新更新