如题我有多个业务逻辑类,都分别封装为dll (调用类的接口的方法)每个业务逻辑类都用到datamodule,也就是我这几个业务逻辑类中都将datamodule作为自己的私有成员然后各自封装为dll..我想有没有什么方法所有业务逻辑dll共享一个datamodule。类的目录结构
beanlib1.dll
    --beanlib1.dpr,  beanlib.pas,  beanDatamodule.pas,  beandatamodule.dfmbeanlib2.dll
    --beanlib2.dpr,  beanlib.pas, beandatamodule.pas, beandatamodule.dfm...

解决方案 »

  1.   

    不如你封装为bpl,这样比较好~~
      

  2.   

    现在封装的一个类 就要单独使用一个datamodule。。 10几个类要封装为dll,几句要单独建立10 几个datamodule
      

  3.   

    楼主将 datamodule对象 作为 变量传递到dll中试试
    不过 在传到dll中后,最好在dll中重新创建一个datamodule变量 然后再使用
      

  4.   

    可以的。首先要使用运行时包进行编译,否则程序将会出现AV错误
    公用的DataModule应当只提供数据库或应用服务器连接,当前登录的用户信息等。不要把业务逻辑写进去
    看下Delphi5开发人员指南,上面有关于如何使用DLL的详细信息。
    到http://www.2ccc.com/去下载示例
      

  5.   

    这样很不好,因为你使用每个DLL的时候都要重新连接数据库。
    单独写一个来处理数据库的类,你的DLL都整理成业务逻辑的不涉及处理数据的概念,把这些工作交给单独类处理。
      

  6.   


    DLL+BPL+EXE來做共用的東西都放在BPL裏帶包編譯來解決共享問題。
      

  7.   

    把DataModule放在主程序,然后把DataModule作为参数传给各dll
      

  8.   

    共享使用bpl要比dll处理起来方便的多。