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

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

В принципе, я хочу, чтобы при нажатии пользователем кнопки Label2 меняет то, что там написано. Да, у меня есть Label2. Ошибка, которая выходит: «E2008 Несовместимые типы« ... Может ли кто-нибудь помочь мне здесь?Если Button1.Click = true

+1

Как ваш код даже скомпилировать? 'TButton' не имеет метода или свойства с именем' Click'. Но если вы подумали о 'Button1.OnClick', тогда это действительно вернет эту ошибку, так как' Button1.OnClick' является ссылкой на Event-метод события OnClick, а не на значение 'Boolean'. Что касается того, как вы достигнете желаемой проверки, ответьте @ kot-da-vinci ниже. – SilverWarior

+0

@SilverWarior http://docwiki.embarcadero.com/Libraries/XE7/en/Vcl.StdCtrls.TCustomButton.Click ... сказал, что этот вопрос вряд ли будет полезен кому-либо в будущем. Любой учебник вообще ... глава 1, стр. 1. Это решило бы это. Кстати, вызов 'Button1.Click' внутри собственного обработчика OnClick будет генерировать бесконечный цикл ... 0_o –

+0

Ускоряет мою ошибку. Я проверил документацию быстро и неэффективно. – SilverWarior

ответ

8

Способ Click не является функцией и не имеет возвращаемого значения. Поэтому вы не можете сравнить его с True. Ваш Button1Click является обработчиком событий вашего события Button1. Когда пользователь нажимает на код Button1 в Button1Click, выполняется. Поэтому вам нужно написать Button1Click следующим образом:

procedure TForm5.Button1Click(Sender: TObject); 
begin 
    Label2.Caption := 'lol'; 
end; 
Смежные вопросы