我的程序有23个窗体, 我在FORM11上放一个seskinengine, 然后所有其他窗体都用这个来seskinengine!! 现在的问题是: 能否在主窗口之前让FORM11运行, 并且程序运行操作正常, 如果把seskinengine放在主窗口上又引起循环引用! 怎么解决! 

解决方案 »

  1.   

    其他引用该窗口的的窗口
    引用放到interface下面。
      

  2.   

    一个放在接口(interface)引用,一个放在实现(implementation)引用
      

  3.   

    1.
    var form11 : Tform11
    Function CreateFirstFrm:boolean;
    ..................
    Function CreateFirstFrm:boolean;
    begin
       result := false;
       form11 := Tform11.create(Application);
       form11.showmodal;
       if modalresult = mrok then
       result:=True;
    end;
    procecdure Tform11.buttonOKclick(sender:Tobject);
    begin
      //换肤操作
      if 操作成功 then
      modalresult = mrok;
    end;工程文件中:
    .......................................
    if CreateFirstFrm then
    application.createForm(Tmainfrm,mainfrm);
    ........................................2。你的23个窗体都是单独的啊?
       你的换肤处理要对每个form分别操作。
       如果是继承的窗体,只要修改父窗体的皮肤就可以了~不知道seskinengine有没有全部修改的功能。没有用过。
      

  4.   

    是不是options里的Forms页里的forms启动顺序可以改一下,哪个在前就是哪个form先出现啊?
      

  5.   

    换肤要那么多窗体干什么,可以通过 Ini 文件嘛
      

  6.   

    一个放在接口(interface)引用,一个放在实现(implementation)引用
      

  7.   

    其实听简单的, jackystar说的一样,