主表单delphi上未声明的标识符

时间:2012-08-08 00:07:27

标签: delphi delphi-2010

我在我创建的名为submit的程序中得到了“未声明的标识符”。

procedure submit;
begin
if ebMain.Text='exit' then
fmMain.Close;
end;

真的很简单。编译器告诉我ebMain是未声明的。我可以通过添加“fmMain”来解决这个问题。在它前面,但我从来没有在delphi 7中这样做。编辑框(ebMain)在主窗体上(fmMain)。过程标题位于“使用”下方。怎么了?

1 个答案:

答案 0 :(得分:6)

submit()不是您TfrmMain课程的成员,因此不知道ebMain是什么。你需要:

1)让submit()成为表单类的成员(无论如何你应该这样做,因为它所做的只是访问TfrmMain的成员):

procedure TfrmMain.submit; 
begin 
  if ebMain.Text='exit' then 
    Close; 
end; 

procedure submit; 
begin 
  frmMain.submit;
end; 

2)前缀ebMain带有表单的全局frmMain变量(就像您已经为Close()做的那样):

procedure submit; 
begin 
  if frmMain.ebMain.Text='exit' then 
    fmMain.Close; 
end; 

是的,你必须在每个版本的Delphi中都这样做,包括D7。