本帖最后由 zhuolong1987 于 2014-04-15 10:21:56 编辑

解决方案 »

  1.   

    RemoveControl本来就会释放button,你自己又释放一次,不报错?
    不管点击不点击,都会报错
      

  2.   


             try
              (Self.ScrollBox1.Controls[j] as TRzButton).Free;
              except
                Continue;
              end;
    上面的代码是新加的就是报错才加的!
      

  3.   

    去掉代码后:
             try
              (Self.ScrollBox1.Controls[j] as TRzButton).Free;
              except
                Continue;
              end;
    生成后删除按钮都没有问题,但是点击生成button时,就会报错
      

  4.   

    生成后删除按钮都没有问题,但是再一次点击生成button时,就会报错,就是不能反悔生成删除
      

  5.   

    if Length(按钮数组) <> 0 then
       begin
         for i:=0 to Length(按钮数组)-1 do
         begin
          按钮数组[i].Destroy;
         end;
       end;
      

  6.   


             try
              (Self.ScrollBox1.Controls[j] as TRzButton).Free;
              except
                Continue;
              end;
              Self.RemoveControl(ScrollBox1.Controls[j]);把上的代码修改成如下 即可          Self.ScrollBox1.Controls[j] .Free;
    请理解控件的释放会有哪些操作你就知道RemoveControl完全是多余,delphi也不推荐直接调用此方法。http://hi.baidu.com/lemtech
      

  7.   

    去掉RemoveControl就可以了,我这里完全没问题
      

  8.   


    已经去掉了,生成后,只要单击生成的按钮,触发单击事件,再删除就会报错出现几个这样的错误后,生成的button也能清除,真是先不明白了
    如果换成rzpanel,即使有单击事件也很正常!
      

  9.   


    已经去掉了,生成后,只要单击生成的按钮,触发单击事件,再删除就会报错出现几个这样的错误后,生成的button也能清除,真是先不明白了
    如果换成rzpanel,即使有单击事件也很正常!
    刚刚又试了一下,只要单击生成的button,不管有没有单击事件,都会报上面的错误