有点混乱了。请教一下各下大大。主工程中有一个当前的数据连接Cn,已激活连接,其他的工程要如何调用这个Cn呢?主工程中包含启动模块和一部分通用模块,其他工程中包含所有业务模块。数据连接是写在主工程的启动模块中。这个问题有点象.Net的共享变量,不用创建类DataCn的实例,就可以得到DataCn的属性Cn,而且在代码运行期间一直保持这个变量Cn。任一DataCn的实例对Cn的改变会使所有的DataCn的实例都一起变化。另外,大家写的项目中,数据库连接是在启动后就一直保持连接直到退出;还是只有在用到时才打开,得到结果集后马上就关闭呢?急,在线等。。

解决方案 »

  1.   

    如果你的主工程和其他工程都是EXE工程,那么就没有办法了。其实你不应当这样做。应当把打开数据连接的工程做成一个ACTIVEX DLL工程,然后
    在主工程里调用它的一个类,激活连接后,把这个连接当成一个OBJECT传出来就可以了。
      

  2.   

    //主工程中有一个当前的数据连接Cn,已激活连接,其他的工程要如何调用这个Cn呢?
    考虑一下activex dll
    将数据库连接封装,然后其它的工程调用//另外,大家写的项目中,数据库连接是在启动后就一直保持连接直到退出;还是只有在用到//时才打开,得到结果集后马上就关闭呢?偶是数据库连接放在sub main中是在启动后就一直保持连接直到退出
      

  3.   

    可能是有点转不弯。其他工程是用dll写的,一直想着要实现共享变量,没考虑在主工程用参数传递给其他工程的实例。我先试一下。
      

  4.   

    工程间要共享必须是用activex dll中类的形式来实现,standard exe是实现不了的。
      

  5.   

    看看,差不多
    http://www.csdn.net/Develop/read_article.asp?id=22628
      

  6.   

    考使用Actives文档或ACTIVES DLL。
    例如:DLL中的窗体 就是全局共享的。当某个实例改变窗体中的数据时,所有调用该窗体的数据都跟着改变。