试过用APPLICATION.COMPONETS的方法,但不是AUTOCREATE的表单名就得不到.....

解决方案 »

  1.   

    BOOL EnumChildWindows(          HWND hWndParent,
        WNDENUMPROC lpEnumFunc,
        LPARAM lParam
    );
      

  2.   

    for i:=0 to Screen.FormCount-1 do
          showmessage(Screen.Forms[i].Name);
      

  3.   

    我用了EnumerateChildWindows CALLBACK 只能写成FORM句柄的
    EnumChildWindows(form1.Handle,@EnumerateChildWindows,0);
    在写成APPLICATION句柄后
    EnumChildWindows(application.Handle,@EnumerateChildWindows,0);
    没有返回任何值....
      

  4.   


    for i:=0 to Screen.FormCount-1 do
          showmessage(Screen.Forms[i].Name);
    也只能得到已经CREATE了的FORM....我正是想动态注册还没CREATE的TFORM后,
    然后通过FINDCLASS的方法,用字符串来CRAETE 和SHOW出FORM来
      

  5.   

    Screen.Forms[i].
    可能也是一个比较好的解决
      

  6.   

    总觉得是PROJECT中有的信息,应该有办法找到呀.....
      

  7.   

    好象不行的哦~
    除非自己专门建立一个单元,在inilization里初始化一个list。
    然后在各个form的inilization里把自己单元的form都注册(RegisterClass)到上面的list里。
    在需要时,就可以访问了。
    直接list.count就可以得到数量。
    不过比较的烦的哦。
      

  8.   

    没有created的form有可能在project中出现吗?
      

  9.   

    zzwu(未名) :当然啊.你没用过动态创建的FORM吗?