我做了一个数据模块.代码如下
unit fjhz;interfaceuses
  SysUtils, Classes, DB, ADODB,Dialogs;type
  Tufjhz = class(TDataModule)
    ADOC: TADOConnection;
    ADOQ: TADOQuery;
  private
    { Private declarations }
  public
    { Public declarations }
    function connect(km,bm,su,sp:string):boolean;
  end;var
  ufjhz: Tufjhz;implementation{$R *.dfm}function Tufjhz.connect(km,bm,su,sp:string):boolean;
begin
 try
   adoc.Connected:=false;
   adoc.ConnectionString:='Provider=SQLOLEDB.1;Password='+ sP +
                     ';Persist Security Info=False;User ID='+sU +
                     ';Initial Catalog='+ bm +
                     ';Data Source='+km;
   adoc.Connected:=true;
  result:=true;
 except
  result:=false;
 end;
end;
end.
我在主程序中调用connect函数代码如下
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementationuses fjhz;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
ll:boolean;
begin
ll:=ufjhz.connect('budget','target','','sa');
end;end.
一点击按钮.就报错.说无效调用.这是怎么回事