如果在uses 后调用单元文件则会出现循环调用错误
在implemention后用uses引用单元则没有问题

解决方案 »

  1.   

    我都是在implemention中use的,具体情况也不好说,就是有时候会出现问题,有时候没问题,
    出问题时,他就提示好像是说内存地址引用出错,
      

  2.   

    窗体是不是手动创建的呢,如果是手动创建就不能用form1来引用form1的控件
    比如
    f: Tform1;
    …………
    f.edit1.text := 'delphi'; 用变量f引用
      

  3.   

    两个单元相互调用的时候要注意引用
    //========单元1=======
    unit1
    ...
    interface
    uses unit2;
    //=======单元2=======
    unit2
    .....
    implemention
    uses unit1;
    这样就没有问题了,不能都在interface部分定义引用
      

  4.   

    同意zzutlink
    to shawnguo(shawn):真的么,不会吧
      

  5.   

    不可以在同一个地方用单元  引起循环
    如 zzutlink(来溜达) 所说
     
      

  6.   

    他的问题不是循环uses,因为编译已经通过乐。我觉得总是所在有可能是变量的使用方法,有可能你已经关闭了form但却还引用它,就会出错。如果你是动态创建的FORM,但却还用全局变量引用,也会出错。
      

  7.   

    那是因为你在form2中调form1时,form1已创建,而在form1调form2时form2还没有创建,只有在窗体创建之后才能调用它上面的控件
      

  8.   

    明显的报没有发现MDI CHILD窗口错误,把FORM2设为MDICHILD,或把FORM1 设为NORMAL 就一切OK
      

  9.   

    我现在的情况是打开form1(form1是mdi主窗口),然后打开form2(form2是stayontop窗口),在form2的show事件中想把form1的enabled改为false,然后就报错了,就在form1.enabled := false这一句上报错