Delphi5下主程序创建TDataBase并且连接到数据库,调用DLL的时,DLL中也有tQuery可以用主程序的数据集别名连接数据库。
如何解决?在线等!!!!!!

解决方案 »

  1.   

    dll直接连BDE别名就行了
      

  2.   

    申明一个全局的TDataBase,放到一个公用的单元里,在主程序里给他 赋值,然后在Dll引用就可以了
      

  3.   

    怎么传输到DLL中?我试过了,D5下不好用啊,无效的别名!你是怎么调用的用的什么版本?
      

  4.   

    使用主程序别名,dll调用后需要输入sqlserver sa 的密码,这个如何屏蔽掉!
      

  5.   

    这涉及到DLL与宿主EXE文件之间共享数据问题,一二句话是说不清的。
      

  6.   

    新建一个dll或bpl,在里面提供一个公用函数,第一次调用函数时创建tdatabase并保存到一个全局变量里,
    以后再调用就返回保存的值。 
    你的exe和dll都引用这个公用函数就可以了。
      

  7.   


    你好,exe 中database是静态创建的,只要dl也引用这个单元,dll中query直接调用exe中相同的数据库别名就行了?
    也不会出现login的对话框?
      

  8.   


    能不能给个例子,邮箱 [email protected]
      

  9.   


    你好,exe 中database是静态创建的,只要dl也引用这个单元,dll中query直接调用exe中相同的数据库别名就行了?
    也不会出现login的对话框?是否显示login对话框是要在tdatabase的连接参数里设置,给dll无关。
    很早就不用bde了,早忘了有哪些连接参数了。
      

  10.   

    你认为简单就简单,我告诉你,你未必能实现,
    你先看看windows技术内幕,有一篇讲windows Dll文件的使用方法与限制。再来搞这个东西。
    再就是看你用什么数据通信组件,你用BDE? 放弃吧。 多半在DLL内部使用会出现这些问题。
    推荐你用uniDac .
    就是将TDataModel 封装成为个类,传递到DLL内。这里面涉及的问题不少!再告诉你一简单的方法,就是常用的,使用BPL技术。麻烦就是发布时要带许多包。
    多年的积累,收点辛苦费你叫啥!
      

  11.   

    我再估计你,要在dll中封装FORM. 还有一堆问题等着你解决呢。给你 365*2 的时间,做出成熟的东西我看看。
      

  12.   

    本人搞其它的可能不行,但是用exe+dll开发数据库类的管理软件还是有5年心得。进销存,人事考勤,旅业,餐饮系统都实践了。
    写框架,软件工程理论,OOP技术还是要懂一点的。不然,半成品一堆一堆的!