微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有一个 *.w 文件,指的是两个包含文件{incl\include_file.i}{incl\do_something_file.i})。第一个包含文件包含 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   {incl\do_something_file.i
 2    x   1 INPUT-OUTPUT recordid

所以,编译工作。最重要的是,我检查了“&ANALYZE-SUSPEND”和“&ANALYZE-RESUME”子句对,一切都很好。

尽管如此,我还是无法打开 *.w 文件,因为提到的 RECID 似乎未知(错误 201 和 196)。

在第一条评论后编辑 这是我使用 AppBuilder 打开 *.w 文件时得到的确切错误消息(我正在使用该工具的荷兰语版本,因此中间有荷兰语单词):

---------------------------
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
{incl\something.i}
{incl\something_else.i}
&ANALYZE-RESUME
...

您会看到以下规则:

  1. 暂停和恢复的次数必须相等。
  2. 每次暂停都以简历结束。
  3. 没有一个可以被注释掉。
  4. 建议在暂停和恢复之间包含包含。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。