递归调用,也叫循环调用,试试将一个的Uses语句的内容放到Interfase里的Uses.

解决方案 »

  1.   

    Uses没问题,Delphi也是允许的。关键是代码中有可能出现Form1调用Form2,Form2接着调用Form1,而Form1又调用Form2,往复循环,最终迫使堆栈溢出。
      

  2.   

    没看见是在关闭的时候出错吗?
    要看看他在close时间里写了什么。才好判断
      

  3.   

    我的问题是这样的,在unit1里面uses unit2,然后form2.show;self.hide,在form2的formclose事件里想关闭form1,所以form1.close,出现错误:堆栈溢出.   恳请大虾们指点!!!
      

  4.   

    to:dryfish() 
    你的form1是mainform吧?这样当然会有问题。
    在form1中可以这样写:
    form2.showmodal;
    close;
    form2 中不要form1.close.
    你好象是要做个启动界面吗?如果是,则可以form2为mainform,
    在form2建立前form1.show;在所有form建立后form1.close
      

  5.   

    在form2 的close 事件写:
      application.Terminate;
      

  6.   

    将一个use写到interface,一个use写到实现部分试试?
      

  7.   

    to:victorchen_2000(微力)
    谢谢,按照你说的,问题已经解决
    不是启动界面,是登录窗口.
      

  8.   

    搞笑,form的关闭只所以用close,而不用free,就是因为有些form会问你要关闭吗,而其他的类直接调用free,然后置为nil.在onclose事件中应该为action:=caHide或caFree之类。