请大家帮我看一下,为什么会出错呢
unit B;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,  Dialogs,
  C; //引用了C单元

implementation
uses A;   
procedure ok;
begin
  
  class1.fun; //C单元中创建的class1类的一个函数,报错:fun没定义。
  fun1;  //C单元的一个函数,不报错 
  
end;另外,在interface中使用uses和在implementation中使用有什么不同啊?

解决方案 »

  1.   

    c.fun; //C单元中创建的class1类的一个函数,报错:fun没定义。
      

  2.   

    不对阿。
    我在A单元引用C单元,使用class1.fun的话,也不会报错,为什么在B单元就报错了呢。
      

  3.   

    在interface中使用uses和在implementation中使用有什么不同啊?
    在interface里使用实在进行编译开始时就调用,而在implementation中是运行时调用。
      

  4.   

    class1 是谁的实例,在哪里定义的在那里初始化的,搞清楚以后就不会出错了
      

  5.   

    unit C;interfaceUses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
         Comctrls, Grids, Printers,
    Type
      TClass = Class(TPrinter)
       ...
    end;
    Var Class1 : TClass;Class1在单元A中create,但放在B单元create一样报错。
      

  6.   

    八好意思,原来这个class1与一个控件名称重名了~~~~为什么我老是犯这种低级错误呢  :(