如果每个session对应共同的BDE,可以考虑做一个公用的运行包,在程序运行里动态调用
这样可以避免与数据库过多连接,节省资源

解决方案 »

  1.   

    txinfo(txinfo), 但问题是如何实现?
      

  2.   

    其实每一个database的数据控件,如果没有指定它的session,都会自动在运行时创建一个缺省的session,我不太清楚你两个session是做什么用的,
    我只是凭我的经验猜想,是不是你的程序都是操作同一个数据库,但又不希望每个可执行文件都要和数据库打开一个连接,如果是这种情况,最好是做一个package,因为package不象exe或dll,它是共用同一个内存空间,这样子就可以达到共享的目的
    如是不是这种思路,当我没说 :P你不会让我写出如何开发包和调用包的代码来吧 ,好辛苦的说 :)
      

  3.   


    请先弄清楚session的作用再说
      

  4.   

    txinfo(txinfo):有个session用于创建数据库,不能指定连接的数据库。
    那这种错误是怎么样?
      Project sjzd2.exe raised exception class EDBEngionError with message "Direction is locked"
      

  5.   

    把你的源码发过来
    [email protected]
      

  6.   

    文件很大,是一个系统,本来没问题的,后来添加功能时加2个session,所以问题就来了。
      

  7.   

    session应该不要自动取名,程序启动后在Active := true;
      

  8.   

    如果不显示的为TDataBase指定Session,BDE使用的是默认的线程Default,这样共用TDataBase的TDataSet控件使用的都是同一个Session,一般来说问题不大,但请注意,如果有某个用户在进行数据量大的报表运算,则其他用户必须要等待,这是要用多Session方法。我们可以使用TSession控件进行多Session的操作。