我需要一点帮助;我正在帮助一个朋友将一个多年前构建的 Delphi 应用移植到较新版本的 Windows,因为它目前只能在 Windows 95 上运行。
该代码利用 Woll2Woll 的 3rd 方库进行数据库操作。
这些库之一会生成错误 E2003 Undeclared identifier: 'self'。
我通过谷歌浏览了许多网站,并且我对 Delphi 的了解有限(源于我大约 12 年前的 Pascal 培训,并推断出我稍微生锈的 PHP、BASH、ColdFusion 和 ASP 编码技能),我遇到了砖墙 - 我时间紧迫,无法理解我在网络上遇到的信息。
有问题的代码段来自 wwwQuery.pas 文件,如下所示:
{$ifdef wwDelphi3Up}
procedure TwwQuery.OpenCursor(InfoQuery: Boolean);
{$else}
procedure TwwQuery.OpenCursor;
{$endif}
begin
{$ifdef wwDelphi3Up}
inherited OpenCursor(InfoQuery);
{$else}
inherited OpenCursor;
{$endif}
//Modded by Arie
//wwSaveAnswerTable(self, Handle, FAnswerTable);
wwSaveAnswerTable(self, Handle, 'FAnswerTable');
end;
确切的错误消息是:
[DCC Error] wwQuery.pas(243): E2003 Undeclared identifier: 'self'
[DCC Error] wwQuery.pas(244): E2029 '.' expected but ';' found
[DCC Fatal Error] wwcommon.pas(285): F2063 Could not compile used unit 'wwQuery.pas'
第 243 行是倒数第二行,就在结尾的上方;
wwSaveAnswerTable 函数如下所示:
Function wwSaveAnswerTable(ADataSet: TDBDataSet; AHandle: HDbiCur; tableName: string): boolean;
我必须将 Self 参数更改为什么才能停止编译错误?
谢谢一叠。