一个查询模块,我用了公司的一个组件(TOldComponent),后由于系统的需要我写了一个组件(TMyComponent(假设)),继承的是TADOQuery,后把TMyComponent代替了TOldComponent中的TTable,代码上也做了一些相应的修改;把修改后的TOldComponent和TMyComponent安装都成功;
调用这两个组件时问题出来了,原来的运行正常的模块却不能编译了,提示:
“Program or unit 'Variants' recursively uses itself”,急,不知咋办,忘各位大侠帮忙谢谢。

解决方案 »

  1.   

    recursively uses itself
    --------------
    递归引用了自身
      

  2.   

    “递归引用了自身”,dBASEIII,说明白点
      

  3.   

    补充:编译时,delphi单元Variants出错,提示“Program or unit 'Variants' recursively uses itself”,
      

  4.   

    还要怎么说才算明白呢?呵~~这样吧,你新建一个工程,默认就行,默认主单元是Unit1,对吧?然后,你在Unit1的
    ...
    implementation
    uses unit1;//加上这句
    {$R *.dfm}
    ...你编译一下试试,是不是recursively uses itself????呵~~
      

  5.   

    楼上说的是这个吧,这个单是单元循环引用.
    [Pascal Fatal Error] Unit1.pas(7): F2047 Circular unit reference to 'Unit1'
    ///////////
    Program or unit '' recursively uses itself             
    程序或单元递归
      

  6.   

    A引用了B,B引用了C,C引用了A。就出这个问题了
      

  7.   

    单元(Unit)之间引用错误,查一下。
      

  8.   

    将Variants引用放implementation后面,如果都必须放在定义处,只能合并两个单元了。