ADO是COM,你没有做线程初始化.

解决方案 »

  1.   

    我現在用dcom做中間層﹐但我真的很想ado+corba做系統﹐但是就不是行﹐現在還不行﹐誰可以救我﹖
      

  2.   

    TADOConnection控件不能放在CORBA远程数据模块里,另创建一个普通数据模块,将ADOConnection放于上面,CORBA数据模块才去引用,另外,修改工程单元文件,将放有ADOConnection的普通数据模块先运行于主程序前!
    我这样做就可以,你试看看 ...
      

  3.   

    CORBA数据模块才去引用?怎樣引用﹖﹖
    如果搞好﹐分全送你。
      

  4.   

    比方说已经在DataModule1里放置好ADOConnection控件,并且Connected为TRUE,这时候可以在CORBA数据模块里的数据集控件例如ADOTable里的Connection设置为DataModule1.ADOConnection,然后从TableName里选择数据表就可以了!我的确实是这样做就可以了~`
      

  5.   

    我的同學是直接把ado放在corba數據模快中的﹐他的程式可以connect﹐我是通過e_mail和好聯系的﹐看過他的程式﹐我是按他的做法去做的﹐就是不行﹐這讓我感到很困獲﹐同學講一定可以﹐但我無法讓他親臨指導﹐所以到現在我都不知道如何處理。同學講的方法先放一邊再說﹐現在我只要能用corba就可以了.不過我按照你的方法做﹐ok﹐是不是這樣﹐加新建一個數據模快﹐放一個ado﹐然后在corba模快中放上adotable或adoquery等﹐adotable再去連ado數據模快﹐我這樣做可以﹐請再回答一下﹐確認后送分給你。
      

  6.   

    其实许多书籍上都强烈建议不要将ADOConnection或者Database控件放在远程数据模块上,都强调建议放在另一个模块中来引用!
      

  7.   

    nt2000作為客戶端可以運行﹐win98我沒有試過﹐你有沒有帶上必須的5個dll文件在客戶端﹖
      

  8.   

    请问必须的5个dll文件是哪五个?
      

  9.   

    我以前在CSDN写过一个贴子具体说过我的做法,可惜找不着了.只能大致再说说.其实不难的.
    你另创建一个数据模块,把AdoConnection这些组件扔上去,设置好,
    在远程数据模块中用一个成员变量引用它,
    在OnCreate事件中创建它,在创建它之前要CoInitliaze 
    在OnDestroy事件中释放它,释放它之后要CoUnInitliaze..这样做的目的也就是让服务器线程中
    先CoInitliaze 
      然后调用ADO   (记清楚,它是COM)
    最后CoInitliaze这样做
    附加的一个好处是你不得不把数据访问对象同你其它的对象分开一些..嘿嘿
      

  10.   

    哦..这儿写错了...这样做的目的也就是让服务器线程中
    先CoInitliaze 
      然后调用ADO   (记清楚,它是COM)
    最后CoUnInitliaze