在dll文件中建立了一个form,form引用一个数据模块,但是数据模块却怎么都不能连接上数据库,有谁能告诉我怎么在dll中使用数据模块的正确方法。

解决方案 »

  1.   

    我也做过dll封装了TModule,完全没有问题,并且我做的还是给vb调用的。。但是我的dll中还用到了tform,你看一下是不是这个原因,如果是的话,你可能需要在程序初始化时加上CoInitialize();
      

  2.   

    能不能说的清楚点呢?我建立了dll文件并在其中uses了.pas文件,在.pas文件中创建了一个tform,并且uses了数据模块文件,但是在使用数据模块中的ado连接数据是出现错误。
      

  3.   

    另外,我如果不使用数据模块,而是直接使用ado连接数据库的话就没有出现错误。我觉得是在给数据模块分配内存上出现错误。不过我不知道该怎么解决。知道的话一定要说啊。
      

  4.   

    我想请问楼主一声,在DLL中如果有几个Form的话,且每个Form是相对独立的,如:每个Form对应的是一个菜单项,那么Form启动的时候是不是都要启动数据模块呀,程序运行是不是特别慢呢,我用的是把ADo组件放在Form上的,启动时特别慢。急死人了!
      

  5.   

    我解决的办法就是在dll文件启动的时候为数据模块文件初始化(create),在退出是的时候要free。我觉得不慢啊。
    你需要编写在dll文件中编写两个函数来初始化和释放数据模块,这两个函数需要在主程序中引用。
    我的就是这个办法,不知道还有没有其他的解决办法。