我想在Dll中用主程序里的数据库模块,因为想用里面的程序,这要怎么才能用呀

解决方案 »

  1.   

    我们一般是exe调用dll没试过dll调用exe
      

  2.   

    就是EXE掉DLL呀,现在有这个问题 ,我在调用的时候把一个DATAMODUAL做为参数传给DLL但在查询的时候TQUERY中有数据,可是在用DBGRID显示的时候出错,说指针错了,这要怎么解决呀
      

  3.   


    传函数指针,函数的原型,你要在DLL里面声明一下
      

  4.   

    总觉的是数据模块传的有问题,第个Query好想都有问题,都是说指针错了
      

  5.   

    DLL中
    DM为数据库模块,这样传应该不会有问题吧,传时没报错,但是在做查询时老是说Invalid pornter operation 
    这是为什么呀
    procedure jk_cscd (const nHwnd :THandle;const DM:TDmpublic);stdcall;
    var  F_xtyhgl:TFM_xtyhgl;
    begin
        Application.Handle:=nHwnd;
        Dmpublic:=DM;
        Dmpublic.DBConn:=dm.DBConn;
        F_xtyhgl:=TFM_xtyhgl.Create(Application);
      try
        F_xtyhgl.ShowModal ;
      finally
        F_xtyhgl.free;
      end;
    end;
    EXE中
      

  6.   

    使用Application.FindComponent()方法直接进行查找
      

  7.   

    Exe调用Dll,传入数据模块的指针,Dll就可以用了
      

  8.   

    你加上那个声明了吗?
    ShareMem
      

  9.   

    用BPL将DATAMODULE放到BPL里,比较好。