2013-09-23 22 views
-1

我試圖禁用導出數據之前ABSQuery1控制:德爾福 - 禁用不工作EMS高級出口管制4

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' 

我在做什麼錯?

回答

0

您的錯誤消息都表明您尚未使用聲明指定符號的單位。將那些聲明TQExport4和TQExportRow的單元添加到Unit1的uses子句中。


當遇到一個你不明白的編譯器錯誤時,通常值得查閱文檔。搜索錯誤代碼,例如E2003。 documentation說:

編譯器無法找到給定的標識符 - 很可能它已在拼音或使用點處拼寫錯誤。它可能來自另一個沒有提及使用條款的單位。

最後一句話涵蓋了你的情景,雖然作者在寫作文字時遇到了糾結,但這些詞語並沒有多大意義。嘆。

順便說一下,該文檔頁面底部的示例讓我很難過。作者在糾正錯誤命名的變量時指出了一種偏好,用於需要最少擊鍵的選項。不要緊,要讓名字正確,只需用最少的關鍵筆劃編寫它,並且關心下一個讀取代碼的人。呸!

+0

它讓我感到莫名其妙......想到組件本身添加了使用條款,但似乎沒有。 – user763539