我正在尝试命名字符串网格中的列(在这个灰色行中)。我知道我应该使用这样的东西:
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
事件的处理程序列 - 现在,代码编辑器打开,显示一个空的事件处理程序主体,供您添加代码,所有其他部分都连接在一起。具体来说,方法是在类型中声明的,处理程序连接到事件
现在,这就是你通常的做法,但知道一个事件需要做好的三件事是值得的:
- 事件处理程序是在类的类型中声明的
- 事件处理程序是在类的实现中定义的
- 事件处理程序附加到对象检查器中的事件。事实上,尽管您在对象检查器中设置了它,但信息实际上存在于.dfm文件中
如果你还不知道这一切,那么在Stack Overflow上提问真的不是最有效的方法。一本好书肯定会有所帮助。即使是旧版本的Delphi,基本概念多年来也没有改变。但如果你没有书,那么你至少应该按照教程来做。