先申明,我不是 DELPHI 的三星,达到3星后各个板块的级别都一样的。在 DELPHI 里面我只是个新手,只学了DELPHI 8天,希望大家帮忙          {
          20051028 奇怪,我在写一个通用函数,要在函数里面打开一个窗体,如何写代码?原来只要先
          USES 那个窗体的单元
          然后
          窗体.OPEN;
          就可以了,但是他现在提示我不能循环引用单元,那我该如何在未引用那个A单元的情况下打开 A单元对应的窗体 FORM_A 呢?
          目前还未解决
          再次描述:我在某个公共函数里面要实现打开某个窗体(Form)的功能,但是因为不能引用该窗体所在的 UNIT ,所以无法打开,有办法实现么?
          }          if FormIsOpen('FORM1')=false then      //FSetPar1
          begin
            {
            IF Application.FindComponent('FORM1')<>nil then
            begin
              showmessage('dd');  //20051028 测试结果 FORM1如果没有引用,无法找到,为NIL
            end;            MyForm := (Application.FindComponent('FORM1') as TForm);
            MyForm.Show;   //这句会导致程序出错的
            }          end;    // end of  if FormIsOpen('FSetPar1')=false then

解决方案 »

  1.   

    其实有两个uses 的地方,一个在:
    interfaceuses另外一个在:
    implementation你将另一个的uses, 放在 implementation 下就可〉〉先申明,我不是 DELPHI 的三星,达到3星后各个板块的级别都一样的
    那你放分的时候,至少要象个三星阿,大佬,老是20太小家子气了
      

  2.   

    在interface下面引用的一般是已经编译好的单元(扩展名是.DCU)还有在实现部分implementation下引用的单元、程序每次编译都会连着所引用的单元一起编译并生成DCU文件楼主还是看看哪里循环引用了,很好找的,还有如果那个Form1窗体是主窗体的话可以applicatipn.ShowMainForm