未声明的"FormCreate"错误 Delphi



我正在尝试命名字符串网格中的列(在这个灰色行中)。我知道我应该使用这样的东西:

procedure TForm1.FormCreate(Sender: TObject);
begin
  StringGrid1.Cells[0,0] := 'Text 1';
  StringGrid1.Cells[1,0] := 'Text 2';
end;

问题是出现了错误:

"TForm1"在第81行不包含名为"FormCreate"的成员。

我是个初学者。我的程序出了什么问题?

您需要在类型中声明方法。

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  ...
  end;

以及在单元顶部附近找到的类型声明的那行代码。然后您的程序将进行编译。您还需要确保事件处理程序将处理程序附加到表单的OnCreate事件。使用对象检查器进行检查。

但实现这一切的最简单方法是让IDE编写所有内容。所以,你会:

  • 删除您在问题中显示的代码
  • 单击设计器中的表单
  • 在对象检查器中选择事件视图
  • 在对象检查器中查找OnCreate事件
  • 双击对象检查器中OnCreate事件的处理程序列
  • 现在,代码编辑器打开,显示一个空的事件处理程序主体,供您添加代码,所有其他部分都连接在一起。具体来说,方法是在类型中声明的,处理程序连接到事件

现在,这就是你通常的做法,但知道一个事件需要做好的三件事是值得的:

  1. 事件处理程序是在类的类型中声明的
  2. 事件处理程序是在类的实现中定义的
  3. 事件处理程序附加到对象检查器中的事件。事实上,尽管您在对象检查器中设置了它,但信息实际上存在于.dfm文件中

如果你还不知道这一切,那么在Stack Overflow上提问真的不是最有效的方法。一本好书肯定会有所帮助。即使是旧版本的Delphi,基本概念多年来也没有改变。但如果你没有书,那么你至少应该按照教程来做。

相关内容

  • 没有找到相关文章

最新更新