非法表达式:if、then、else语句

Illegal expression: if, then, else statement

我不明白这段代码有什么问题:

procedure WebBrowserForm.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked = true then
    Button1.Enabled = true else
    Button1.Enabled = false;
end;

有人可以告诉我吗?

您的代码应该是

procedure WebBrowserForm.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked = true then
    Button1.Enabled := true else
    Button1.Enabled := false;
end;

在Delphi中,赋值运算符是:=,而=是比较运算符。

顺便说一句,您可以更简单地编写代码

procedure WebBrowserForm.CheckBox1Click(Sender: TObject);
begin
  Button1.Enabled := CheckBox1.Checked;
end;