首先,我想让rzpanel2里的组件随着窗体的变化而改变大小因此在rzpanel2的
procedure Tmainform.RzPanel2CanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean); 事件里定义了改变组件大小的方法
但是我现在想在一个button按钮的onclick事件里再该变rzpane2中组件的大小却不能改变了   经过多翻调试才知道 (我想)里面的组件大小已经被procedure Tmainform.RzPanel2CanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);方法时时锁定了 ,即 此方法会间隔n 个时间就调用一次;
现在我能想到的解决办法就是线程同步; 可是rzpanel2中有多个组件  我不懂怎么样才能使当按下这个按钮时里面的组件成为临界资源。
谁能告诉我这个线程同步应该怎么写吗 (给出实例代码)
或者谁有更好的办法解决呢。
十分感谢

解决方案 »

  1.   

    现在又有一种想法是不是被 procedure Tmainform.RzPanel2CanResize(Sender: TObject; var NewWidth,
      NewHeight: Integer; var Resize: Boolean); 方法调用过的组件改变其大小的不能再在其他的事件里改变此变量的大小拉
      

  2.   

    你说的问题跟线程没有关系吧。
    避免多次触发resize可以这样,在适当的时候将onresize或canresize事件置空,做完全部操作后,再将其事件还原。