Delphi - 禁用控制不工作EMS Advanced Export 4

时间:2013-09-23 06:32:27

标签: delphi delphi-xe4

我尝试在导出数据之前禁用ABSQuery1控件:

procedure TForm1.QExport4Dialog1BeforeExportRow(Sender: TQExport4;
  Row: TQExportRow; var Accept: Boolean);
begin
ABSQuery1.DisableControls;
end; 

但我明白了:

> [dcc32 Error] Unit1.pas(75): E2003 Undeclared identifier: 'TQExport4'
> [dcc32 Error] Unit1.pas(76): E2003 Undeclared identifier:
> 'TQExportRow' [dcc32 Error] Unit1.pas(204): E2005 'TQExport4' is not a
> type identifier [dcc32 Error] Unit1.pas(205): E2005 'TQExportRow' is
> not a type identifier [dcc32 Fatal Error] Project1.dpr(15): F2063
> Could not compile used unit 'Unit1.pas'

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的错误消息都表明您没有使用声明命名符号的单位。将那些声明TQExport4和TQExportRow的单元添加到Unit1的uses子句中。


当您遇到您不理解的编译器错误时,通常值得查阅文档。搜索错误代码,例如E2003。 documentation说:

  

编译器无法找到给定的标识符 - 很可能是在声明点或使用点拼写错误。它可能来自另一个未提及使用条款的单位。

最后一句话涵盖了你的场景,尽管作者在写这篇文章时陷入了纠结,而且这些词语没有多大意义。叹息。

顺便说一句,该文档页面底部的示例让我感到难过。作者在纠正错误命名的变量时表示偏好需要最少键击的选项。不要介意让名称正确,只需使用最少的键击进行编译,并关心下一个阅读代码的人。 PAH!