2015-04-02 105 views
-5
Button1: TButton; 
Label2: TLabel; 

procedure TForm5.Button1Click(Sender: TObject); 
begin 
if Button1.Click = True then 
     Label2.Caption := 'lol'; 

基本上我想要的是,当用户单击按钮时,Label2会更改写入的内容。是的,我确实有Label2。 出现的错误是“E2008不兼容的类型”... 任何人都可以帮我在这里吗?If Button1.Click = true

+1

你的代码如何编译? 'TButton'没有任何名为'Click'的方法或属性。但是如果你考虑过'Button1.OnClick',那么这确实会返回错误,因为'Button1.OnClick'是对'OnClick'事件的事件方法的引用,而不是'布尔值'。至于你如何实现所需的检查@ kot-da-vinci答案。 – SilverWarior 2015-04-02 07:59:53

+0

@SilverWarior http://docwiki.embarcadero.com/Libraries/XE7/en/Vcl.StdCtrls.TCustomButton.Click ...这就是说,这个问题不可能对未来的任何人有用。任何教程......第1章,第1页。这将解决这个问题。顺便说一下,在自己的'OnClick'处理函数内调用'Button1.Click'会产生一个无限循环... 0_o – 2015-04-02 08:21:42

+0

Ups我的错误。我检查了文档,以便快速低效地检查。 – SilverWarior 2015-04-02 08:41:59

回答

8

方法Click不是函数,它没有返回值。所以你不能与True比较。 您的Button1Click是您的Button1点击事件的事件处理程序。当用户点击Button1代码Button1Click执行。所以你需要这样写你的Button1Click

procedure TForm5.Button1Click(Sender: TObject); 
begin 
    Label2.Caption := 'lol'; 
end;