在编译器上找不到标识符(Free Pascal)
Identifier not found on compiler (Free Pascal)
我正在尝试在鼠标悬停时更改 Lazarus 上面板的颜色。
我在 Lazarus 上尝试 运行 这段代码:
unit test;
{$mode objfpc}{$H+}
interface
uses
[...]
type
{ Tvendas_menu }
Tvendas_menu = class(TForm)
[...]
procedure StartMouseEnter(Sender: TObject);
[...]
private
{ private declarations }
public
{ public declarations }
end;
var
[...]
implementation
[...]
procedure Tvendas_menu.StartMouseEnter(Sender: TObject);
begin
Start.Color := [=10=]E7E7E7;
end;
[...]
但是编译程序时出现如下错误代码:
错误:找不到标识符"Start"
我确定 "Start" 是 Object Inspector 和 .lfm 文件中面板的名称。
我尝试将 "Start" 更改为其他名称,但仍然出现错误。
谢谢!
当您向表单添加控件时,它们会自动添加到表单 class 下,在您的情况下,它们将出现在 Tvendas_menu = class(TForm)
.
下
错误的一种可能是因为 Start
行丢失了,你应该有这样的东西:
type
Tvendas_menu = class(TForm)
Start: TPanel;
private
{ Private declarations }
public
{ Public declarations }
end;
要解决此问题,请尝试像上面那样添加 Start: TPanel;
行(如果不存在)。
您的另一个选择是在文本视图中查看表单(.lfm
对于 Lazarus,.dfm
对于 Delphi)并找到 Start
的参考块,它可能类似于:
object Start: TPanel
Left = 152
Top = 248
Width = 185
Height = 41
Caption = 'Start'
TabOrder = 1
end
删除它,然后 return 返回到表单视图。
然后您可以尝试向窗体添加一个新面板并将其命名为 Start
,然后您只需要 link 您的事件处理程序返回到新控件。
附带提示,将控件命名为 Start
并不是很有用,也许可以考虑一个更好的命名标识符,例如 panStart
.
我正在尝试在鼠标悬停时更改 Lazarus 上面板的颜色。
我在 Lazarus 上尝试 运行 这段代码:
unit test;
{$mode objfpc}{$H+}
interface
uses
[...]
type
{ Tvendas_menu }
Tvendas_menu = class(TForm)
[...]
procedure StartMouseEnter(Sender: TObject);
[...]
private
{ private declarations }
public
{ public declarations }
end;
var
[...]
implementation
[...]
procedure Tvendas_menu.StartMouseEnter(Sender: TObject);
begin
Start.Color := [=10=]E7E7E7;
end;
[...]
但是编译程序时出现如下错误代码:
错误:找不到标识符"Start"
我确定 "Start" 是 Object Inspector 和 .lfm 文件中面板的名称。
我尝试将 "Start" 更改为其他名称,但仍然出现错误。
谢谢!
当您向表单添加控件时,它们会自动添加到表单 class 下,在您的情况下,它们将出现在 Tvendas_menu = class(TForm)
.
错误的一种可能是因为 Start
行丢失了,你应该有这样的东西:
type
Tvendas_menu = class(TForm)
Start: TPanel;
private
{ Private declarations }
public
{ Public declarations }
end;
要解决此问题,请尝试像上面那样添加 Start: TPanel;
行(如果不存在)。
您的另一个选择是在文本视图中查看表单(.lfm
对于 Lazarus,.dfm
对于 Delphi)并找到 Start
的参考块,它可能类似于:
object Start: TPanel
Left = 152
Top = 248
Width = 185
Height = 41
Caption = 'Start'
TabOrder = 1
end
删除它,然后 return 返回到表单视图。
然后您可以尝试向窗体添加一个新面板并将其命名为 Start
,然后您只需要 link 您的事件处理程序返回到新控件。
附带提示,将控件命名为 Start
并不是很有用,也许可以考虑一个更好的命名标识符,例如 panStart
.