现我将一已做完的项目工程改为DLL文件模式.
有用到ADO...在GlobalMod里面设有一公共连接TADOConnection.
form1里用到TAdoQuery它的连接高为GlobalMod里的公共连接.
项目在改写前本身没有出错..但当它做为DLL被调用时就出现
连接字符串出错的信息..
而且我调用它的主程序中又用到了同一个GlobalMod.不知是否是这个原因.
这两个GloBalMod应该不会冲突吧..
请问怎么解决???

解决方案 »

  1.   

    不明白,不同的DLL 就是不同的工程了,怎么用到同一个Datamod
      

  2.   

    这是因为在GlobalMod里面设有一公共连接TADOConnection.的ADO.
    我的解决意见是:在GlobalMod定义一个数据连接的方法
    如: procedure connectDB(var ADO :TADOConnection);
         begin
           ADO.connectionstring :='...'
           
           .....
           .....
           ADO.open();
         end;
    然后在每个工程DLL中定义一个TADOConnection的私有变量 ADOcnn。
    在formGreat事件中,调用connectDB(ADOcnn),这样就不会有冲突了。
      

  3.   

    把form里面的adoconnection 传给dll
      

  4.   

    不同的DLL 就是不同的工程,不能用同一个Datamod
      

  5.   

    可以用同一个Datamod的,看你调用时有没有出错!
      

  6.   

    这种方式是不行的,一个是EXE你的工程,另一个是DLL另一个工程,DLL无法连接另一个工作里的ADOConn的。