请教一个问题, form1是在unit1当中的,我把一些过程跟函数,移动别的unit中,因为所有所有的onClick,onMouse事件,跟过程混在一起,程序不好维护,但有一个问题,在别的unit中,如果引用到form1上控件,都要加Form1.xxxx,有什么办法可以令到unit2中的范围扩大到unit1, 可以不用加这个的? 我知道传一个TForm1的指针p进来可以,但是引用的时候,还是要p^.image1这样才行,用with的话,每个过程或函数中都要写,有没有简单点的办法?

解决方案 »

  1.   

    新建一个Unit,将自定义函数或过程都放到那里!就不用输出窗体名了!
    unit ut9GVariable;
    interface
    uses
    Windows
    type
      TFormTemp = class(TForm)
      private
        { Private declarations }
      public
        { Public declarations }    end;
    var
    //公用过程过自定义函数
    procedure ShowBarTree(dxNavBarTemp:TdxNavBar;ADOQueryTemp,ADOQueryTemp2:TADOQuery);implementationprocedure ShowBarTree(dxNavBarTemp:TdxNavBar;ADOQueryTemp,ADOQueryTemp2:TADOQuery);
    Begin
    end;
      

  2.   

    看看SysUtils这些系统单元他们的函数是怎么声明调用的
    tyep
      TForm1 = class(TForm)
    把公用函数写到类里去,看上去就别扭
      end;
      

  3.   

    我想二楼的搞错了我的意思,我是说在别的unit中不用form名就能引用form1上面的控件,而不是说在与form1同一个unit中怎么不用form名引用。