如题,我用BDE 连接数据库可以用,但是使用ADO组件连接就不可以了。
请高手指点一下。

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3518/3518535.xml?temp=.1052362
      

  2.   

    我创建了一个 数据窗体,把他放到dll文件,里面的数据组件用BDE的话呢,可以正常调用,但是是Ado组件的话 调用就会出错。
      

  3.   

    我也正在研究,刚刚看完刘艺的《Delphi 面向对象编程思想》(第一遍) 我只是知道原因:DLL 中封装和调用对象受到了对象动态绑定机制的限制  但还不知道怎么解决,希望明天解决
      

  4.   


    我是通过以下实现的,但我对dll的概念还很模糊,希望以后多交流,我的QQ是41735573library PrjDll;
    uses
      SysUtils,
      Forms,
      Windows,
      Messages,
      Classes,
      UDllFrm in 'UDllFrm.pas' {DllFrm1}; //自己定义的窗体
    {$R *.res}
     var
      DLLApp: TApplication;
      DLLScr: TScreen;
    function CreateDLLForm1(App: TApplication; Scr: TScreen ):TForm;begin
      Application := App;
      Screen := Scr;
      Application.CreateForm(TDllFrm1, DllFrm1);
      result:=DllFrm1;
      dllFrm1.showModal;
    end;procedure ExitDLL(Reason: Integer);
    begin
      if Reason = DLL_PROCESS_DETACH then
      begin
        Application := DLLApp;
        Screen := DLLScr;
      end;
    end;exports
      CreateDLLForm1,CreateDLLForm2;begin 
      DLLApp := Application;
      DLLScr := Screen;
      DLLProc := @ExitDLL; //全局变量,通过她可建立dll的入口函数和出口函数