![](/img/trans.png)
[英]TObjectList E2003 Undeclared identifier TObjectList<>
[英]E2003 Undeclared identifier: 'mtConfirmation' and 'mbOK'
據我所知,這兩個都應該在System.UITypes中,但我仍然收到錯誤消息。 我怎樣才能解決這個問題?
我基於http://docwiki.embarcadero.com/CodeExamples/XE7/zh-CN/FileExists_(Delphi)中示例的消息對話框
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
uses
NetworkState;
procedure TForm1.Button1Click(Sender: TObject);
var
NS: TNetworkState;
begin
NS := TNetworkState.Create;
try
if not NS.IsConnected then begin
MessageDlg(('No connection'), mtConfirmation, [mbOK], 0);
end else if NS.IsWifiConnected then begin
MessageDlg(('Wifi connection'), mtConfirmation, [mbOK], 0);
end else if NS.IsMobileConnected then begin
MessageDlg(('Mobile connection'), mtConfirmation, [mbOK], 0);
end;
Label2.Text := NS.CurrentSSID;
finally
NS.Free;
end;
end;
end.
本單元中的枚舉類型是作用域 。 注意使用
{$SCOPEDENUMS ON}
就在單元頂部
$ SCOPEDENUMS指令啟用或禁用在Delphi代碼中使用范圍枚舉。 更具體地說,$ SCOPEDENUMS僅影響新枚舉的定義,並且僅控制將枚舉的值符號添加到全局范圍。
在{$ SCOPEDENUMS ON}狀態下,枚舉是作用域,而枚舉值不會添加到全局作用域。 要指定作用域枚舉的成員,您必須包括枚舉的類型。
這意味着需要像這樣充分定義值的范圍
TMsgDlgType.mtConfirmation
像這樣
TMsgDlgBtn.mbOK
等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.