線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2052
推到 Plurk!
推到 Facebook!

請問Zeos和ADO不能和平共處?

答題得分者是:rogan321
irvinehing
初階會員


發表:77
回覆:79
積分:31
註冊:2003-11-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-29 11:47:57 IP:202.174.xxx.xxx 未訂閱
環境: Win2000 + SP4 BCB 6 + SP4 MySQL 3.23.58 Zeos 6.5.1 + Patch 2 ADO    小弟拖一個ADOConnection, ADOTable, ZConnection, ZTable到Form中,完全不設定任何屬性。 經過編譯後出現下列錯誤:    
Build
  [C   Error] oledb.h(2920): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(3064): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(3302): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(3494): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(3701): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(3900): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(4069): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(4147): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(6295): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(6449): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] oledb.h(6517): E2015 Ambiguity between 'DBROWCOUNT' and 'Zplaindblibdriver::DBROWCOUNT'
  [C   Error] ADODB.hpp(283): E2015 Ambiguity between 'ConnectionEventsVt' and 'Zplainado::ConnectionEventsVt'
  [C   Error] ADODB.hpp(901): E2015 Ambiguity between 'RecordsetEventsVt' and 'Zplainado::RecordsetEventsVt'
小弟現在想要將以前ADO MyODBC 3.51的專案改成Zeos 6.5.1,卻發生了以上問題,請問有辦法解決嗎?
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-29 15:27:32 IP:203.204.xxx.xxx 未訂閱
 
將#include 搬到該Form標頭檔的最前面~應可解決此訊息
     
        
irvinehing
初階會員


發表:77
回覆:79
積分:31
註冊:2003-11-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-30 12:13:03 IP:202.174.xxx.xxx 未訂閱
#include "oledb.h"
加到頭文件檔的頂端還是會有最後兩個錯誤。 但是將
#include 
移到頭文件檔的頂端就可以編譯成功了。 但是為什麼呢? 發表人 - irvinehing 於 2005/03/30 12:19:25
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-30 23:21:56 IP:203.204.xxx.xxx 未訂閱
Ambiguity between 通常是Namespace的問題~也就是說Compiler不知道你要call哪個函式或成員~在這裡你可修改oledb.h加上範圍運算子或修改Zplaindblibdriver的宣告,避開宣告衝突~不過這樣好像很麻煩厚< >~ > >< >< >
irvinehing
初階會員


發表:77
回覆:79
積分:31
註冊:2003-11-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-04 09:31:57 IP:202.174.xxx.xxx 未訂閱
"前置處理器"載入的功能~讓Compiler不要雞婆 請問這是啥意思?要如何做?
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-04 13:35:06 IP:203.204.xxx.xxx 未訂閱
引言: "前置處理器"載入的功能~讓Compiler不要雞婆 請問這是啥意思?要如何做?
前置處理器就是include 或有加上#的~C會先行引入的程式碼~當你有同樣的 函式名稱時C會不知道你是呼叫哪一個~依你的錯誤訊息oledb.h中的DBROWCOUNT是屬於"全域"的將其搬到最前方可讓你的程式清楚的知到不屬於Zplaindblibdriver::範圍的皆為呼叫oledb.h中的DBROWCOUNT~
系統時間:2024-04-30 5:53:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!