你可以作个函数,动态创建ADoConnection,不要忘了uses
DB、DBTables单元

解决方案 »

  1.   

    如果是为了共享的话,为什么不放到DataModule里边?
    如果放到dll里边,按我的做法还是包含一个DataModule,然后,各个程序再调用,最有可能的是再做一个公共的接口(Unit),但是没有意思呀!
    你可以想一想,如果是在不同的应该程序间用的话,放到DLL里边可以,但是,如果是在一个程序里,为的是让不同的窗体调用,那么为什么不放到DATAMODULE里边?
    NO1;DLL→Unit→共享接口;
    NO2:DataModule→各个窗体;
      

  2.   

    TO apollp() 
                如果是动态建的话,那么每次都需要动态连接,是很浪费时间的;
                而且,我觉的为了这样的目的而动态建库是不和算;
      

  3.   

    但我的每一個Form都要Compile成獨立的Exe File,它們並不是在同一個Project裡的。所以還是應該按 ihihonline(小小)說的去做成DLL,但是我在DLL裡包含DataModule後,Form裡的Query應該如何設置它的Connection屬性呢?能不能講詳細一點,我是生手!不好意思!
      

  4.   

    query1.connection:=datamodule1.adoconnection.connection
      

  5.   

    為什麼我不能像以下那樣做:
    首先創建一個DLL,包含如下Function
    function DoTest(H: THandle):TADOConnection;
    var AdoConnection1:TAdoConnection;
    begin
      Application.Handle :=H;
      with TFrmStart.Create(Application) do
      begin  
        AdoConnection1.ConnectionString:='....';
        AdoConnection1.Connected:=true;
        DoTest:=ADOConnection1.Create(Application);
      end;
    end;然後在我的主Form調用DLL
    ...
    implementation
    function DoTest(H: THandle):TADOConnection cdecl; external 'MyDLL.DLL';procedure TForm1.Button1Click(Sender: TObject);
    begin
      adoquery1.Connection:=DoTest(Application.Handle);
      adoquery1.Active:=true;
    end;
      

  6.   

    TO szkxy(雨鱼) 
    NO.1: 但我的每一個Form都要Compile成獨立的Exe File,它們並不是在同一個Project裡的。//你这句话是错的,在同一个工程里边,只有一个.exe;
        每一个form是compile,但是,他们最终到只生成一个.exe文件,这个.exe文件里,包含了所有了的本工程里的form,所以,你不用担心这一点:)
    //是应该好好看一看书的; NO.2: 用共享接口,其它的程序或是form就可以调用这个dll了;
      

  7.   

    To ihihonline(小小)
    No.1 我的每個Project都隻有一個Form,分別由不同的人完成,(但我的每一個Form都要Compile成獨立的Exe File,它們並不是在同一個Project裡的)