2015-11-14 43 views
0

我正在尝试做一个简单的登录表单。当登录成功时,应该显示Form2,并且Form1应该隐藏或关闭。但我得到一个编译器错误“缺少操作符或分号”Self.Free后缺少运算符或分号

这里是我的代码:

procedure TForm1.Button1Click(Sender: TObject); 
begin 
    if(Key.Text = 'password') then 
    Form2.Show 
    Self.close //Same error with Self.Free or Self.Release 
    else 
    ShowMessage('Failed'); 
    Exit; 
end; 

我在做什么错?

回答

5

你缺少一个begin/end块(你不需要Exit):

procedure TForm1.Button1Click(Sender: TObject); 
begin 
    if (Key.Text = 'password') then 
    begin // <-- add this 
    Form2.Show; 
    Self.Close; 
    end // <-- add this 
    else 
    ShowMessage('Failed'); 
end; 
+0

还缺少两个分号(了'Show'和'Close'后)。 –

+0

谢谢,但我需要1更多的帮助获取self.close错误时单击button1,所以我将其更改为form1.hide但如何关闭form1当我关闭form2 –

+0

你没有说错误是什么。 'Self.Close;'通常工作得很好,但请注意,默认情况下,关闭'MainForm'将终止程序。所以,假设'TForm1'是你的'MainForm',这种代码并不特别有用,因为它目前显示。 –