gpt4 book ai didi

delphi - 在编译器上找不到标识符(Free Pascal)

转载 作者:行者123 更新时间:2023-12-03 18:35:49 24 4
gpt4 key购买 nike

我正在尝试在鼠标悬停时更改 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 := $00E7E7E7;
end;
[...]

但是在编译程序时显示以下错误代码:

错误:找不到标识符“开始”

我确定“开始”是对象检查器和 .lfm 文件上面板的名称。

我尝试将“开始”更改为另一个名称,但错误仍然存​​在。

谢谢!

最佳答案

当您将控件添加到表单时,它们会自动添加到表单类下,在您的情况下,它们将出现在 Tvendas_menu = class(TForm) 下.

错误的一种可能性可能是因为行 Start不见了,你应该有类似的东西:

type
Tvendas_menu = class(TForm)
Start: TPanel;
private
{ Private declarations }
public
{ Public declarations }
end;

要解决此问题,请尝试添加行 Start: TPanel;如果它不存在,就像上面一样。

另一种选择是在 TextView 中查看表单( .lfm 用于 Lazarus, .dfm 用于 Delphi)并找到 Start 的引用 block ,它可能看起来像:
object Start: TPanel
Left = 152
Top = 248
Width = 185
Height = 41
Caption = 'Start'
TabOrder = 1
end

删除它,然后返回表单 View 。

然后您可以尝试在表单中添加一个新面板并将其命名为 Start ,那么您只需将事件处理程序链接回新控件。

作为一个小提示,将控件命名为 Start不是真的很有用,也许想一个更好的命名标识符,例如 panStart .

关于delphi - 在编译器上找不到标识符(Free Pascal),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com