Recent

Author Topic: To activate another procedure  (Read 3821 times)

asdf

  • Sr. Member
  • ****
  • Posts: 310
To activate another procedure
« on: December 06, 2010, 01:20:05 pm »
procedure TForm1.CheckListBox1ClickCheck(Sender: TObject); 
begin
showmessage('Oops!');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i :integer;
begin
  if checklistbox1.Count <> 0 then
  for i:= 0 to CheckListBox1.Items.Count-1 do
  begin
       if CheckListBox1.Checked then begin
          CheckListBox1.Checked:= false;
          CheckListBox1.Checked[i+1]:= true; This line didn't activate procedure TForm1.CheckListBox1ClickCheck(Sender: TObject); 
          exit;
       end;
  end;
end;     

What should I do ?       
Lazarus 1.2.4 / Win 32 / THAILAND

AmatCoder

  • Jr. Member
  • **
  • Posts: 56
    • My site
Re: To activate another procedure
« Reply #1 on: December 06, 2010, 03:08:35 pm »
You can call procedure directly with:

Code: [Select]
...
CheckListBox1ClickCheck(nil);
...

Leledumbo

  • Hero Member
  • *****
  • Posts: 8757
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: To activate another procedure
« Reply #2 on: December 06, 2010, 05:19:45 pm »
I don't think it's activated by a change in Checked property. OnClick should either be triggered via mouse or direct call. If you want something to be triggered when Checked property changes, use OnChange instead.

 

TinyPortal © 2005-2018