我遇到一系列未声明的标识符类型错误。像:第1300行的未声明标识符'MessageDlg'。
我之所以这样,是因为Delphi无法识别“控件”和“对话框”类。
但是我在uses子句中声明了
uses
Windows, Messages, SysUtils, Variants, Classes, Controls, Dialogs,
ADODB, DateUtils, DB, Math, SqlExpr;
//Cannot resolve unit name 'Controls'
//Cannot resolve unit name 'Dialogs'
.
.
.
Procedure Insert_Data_BD();
var
j: Integer;
IDOffer: Integer;
Hour: String;
adocOpen: TADOConnection;
adospSELECT, adospINPUTX, adospINPUTY,
adospINPUTZ, adospINPUTW, adospOUTPUTR :
TADOStoredProc;
adoQuery: TADOQuery;
blnUpdate: Boolean;
strTabela: ShortString;
begin
Try
ShortDateFormat := 'dd/mm/yy'; //Undeclared Identifier 'ShortDateFormat'
ShortTimeFormat := 'hh:mm:ss'; //Undeclared Identifier 'ShortTimeFormat'
DateTimeToString(Hour, 't', Time);
blnUpdate := False;
.
.
.
MessageDlg('Error', mtInformation, [mbOK], 0);
// Undeclared identifier 'MessageDlg'
// Undeclared identifier 'mtInformation'
// Undeclared identifier 'mbOK'
end;
有人知道会发生什么吗?
谢谢!
答案 0 :(得分:1)
我发现了正在发生的事情...
我需要用vcl声明控件和对话框。我不知道为什么,因为在其他项目中没有必要这样做。
uses
Windows, Messages, SysUtils, Variants, Classes, vcl.Controls, vcl.Dialogs,
ADODB, DateUtils, DB, Math, SqlExpr;
错误:未声明的标识符'ShortDateFormat'
Procedure Insert_Data_BD();
var
j: Integer;
IDOffer: Integer;
Hour: String;
adocOpen: TADOConnection;
adospSELECT, adospINPUTX, adospINPUTY,
adospINPUTZ, adospINPUTW, adospOUTPUTR :
TADOStoredProc;
adoQuery: TADOQuery;
blnUpdate: Boolean;
strTabela: ShortString;
begin
Try
//ShortDateFormat := 'dd/mm/yy';
//ShortTimeFormat := 'hh:mm:ss';
FormatSettings.ShortDateFormat := 'dd/mm/yy';
FormatSettings.ShortTimeFormat := 'hh:mm:ss';
DateTimeToString(Hour, 't', Time);
blnUpdate := False;
忍耐是一种伟大的美德! :)