一个TRZcheckbox的BUG的,求解,郁闷,该怎么解决

一个TRZcheckbox的BUG的,求解,郁闷
if RZChk_15.Checked then RZChk_21.Checked :=true
  else
  RZChk_21.Checked :=False ;

我上面这样写的结果是两个checkbox的状态相反,很郁闷,不知道为什么,求解

------解决方案--------------------
RZChk_15与RZChk21是不是2选1 ?

应该是RZChk_21和RZChk_15的Click事件,都设置了对方的状态
------解决方案--------------------
不带这么玩的。打了半天字回复时没了。。。
用这段代码延迟改变另一个复选框的值。排除一下当前复选框事件激活时其值未更新的可能。
我没装你说的那套控件,用普通控件代替了。你改一下在测试吧
Delphi(Pascal) code

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm2 = class(TForm)
    chk1: TCheckBox;
    chk2: TCheckBox;
    tmr1: TTimer;
    tmr2: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure chk1Click(Sender: TObject);
    procedure chk2Click(Sender: TObject);
    procedure tmr1Timer(Sender: TObject);
    procedure tmr2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.chk1Click(Sender: TObject);
begin
  tmr1.Enabled := True;
end;

procedure TForm2.chk2Click(Sender: TObject);
begin
  tmr2.Enabled := True;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  tmr1.Enabled := False;
  tmr2.Enabled := False;
  tmr1.Interval := 5000;
  tmr2.Interval := 5000;
end;

procedure TForm2.tmr1Timer(Sender: TObject);
begin
  chk2.Checked := chk1.Checked;
  tmr1.Enabled := False;
end;

procedure TForm2.tmr2Timer(Sender: TObject);
begin
  chk1.Checked := chk2.Checked;
  tmr2.Enabled := False;
end;

end.