在Broland developer studio2006 中装的VCLSKIN3.2版本。
 有两个窗体。
  在一窗体按下”按钮“后调用二窗体。
   按钮事件代码如下:
    form2:=Tform2.create(self);
        form2.showmodal;
        form2.free.
    在二窗体有一个按钮。一个skindata1组件。一个skincaption1组件。
   在按钮单击事件代码如下
     from2.resultmodal:=1;
     调试时。总报invalid pointer operation;
    如果去掉skindata1.和skincapiton1那么程序调式通过。
这是怎么回事。请教

解决方案 »

  1.   

    把VCLSkin相关控件放在主窗口(main form)上.
      

  2.   

    为什么必须要在放在主窗体上?
    因为我只想把调用窗体用VCLSKIN改变!设在主窗体上。不是都改了?
      

  3.   

    快了。快了。今天结。不过我没搞明白。为什么放在主窗体上。我只想改VCLSKIN改变子窗体啊!
      

  4.   

    分两种情况:一、
    form1 和 form2 都有 SkinData,此时 form1.skindata.active = false
    form2.skindata.active = ture
    skincaption 放在主form2 上二、
    只有 form2 有 Skindata,此时 skincaption 放在主form2 上以上两种情况,设置 form2.skindata.skinformtype = sfOnlyThisForm 就如你所愿。
      

  5.   

    另外建议升级一下 VCLSKIN 和补丁