【发布时间】:2021-01-14 16:07:14
【问题描述】:
我有一个 *.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)。
在第一次 cmets 后编辑 这是我在使用 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)并且没有一个被注释掉。
有人知道出了什么问题吗?
【问题讨论】:
-
open用什么?编辑?还是您的意思是您正在启动.w?还提供报告的确切错误。您可能还想preprocess文件,这适用于所有包含和其他预处理规则。您可能还想查找keyword forget list- knowledgebase.progress.com/articles/Article/P6962 -
您确定错误在该行吗?而“开放”是指跑步吗?
-
@StefanDrissen:根据您的评论,我已经更新了问题。
-
第 7 行的
.i 中有什么内容?你能发布文件的内容吗? -
在第 7 行,有
other-recordid = recordid。这可能会让您相信这个变量 (recordid) 尚不为人所知,但如果是这种情况,文件将无法编译,它会编译(如调试列表中所证明的那样)。
标签: openedge progress-4gl