-1

我尝试在导出数据之前禁用 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'

我究竟做错了什么 ?

4

1 回答 1

0

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


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

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

最后一句话涵盖了您的场景,尽管作者在编写该文本时陷入了纠结,并且这些词没有多大意义。叹。

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

于 2013-09-23T06:42:02.387 回答