全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3158
推到 Plurk!
推到 Facebook!

ComCtrls.hpp(2638): & DBGrids.hpp(62) ,"Excel_2K_SRVR.h"與DBGrids無法共存嗎?

答題得分者是:dllee
windzero000
一般會員


發表:3
回覆:4
積分:1
註冊:2007-09-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-25 09:24:11 IP:203.79.xxx.xxx 訂閱
程式架構如下
form_1:輸出Excel檔.
在.cpp有加入
#include "ComObj.hpp"
#include "Excel_2K_SRVR.h"


#include "form_2.h"
-----------------------------
form_2:查詢Access
該form使用ADO元件如下
ADOConnection,ADOQuery
DataControl元件=>DBGrid
DataAccess元件=>DataSource
-----------------------------------------------
Compile出現err訊息
[C Error] ComCtrls.hpp(2638): E2015 Ambiguity between 'Windows' and 'Excel_2k::Windows'
[C Error] ComCtrls.hpp(2839): E2015 Ambiguity between 'Windows' and 'Excel_2k::Windows'
[C Error] ComCtrls.hpp(3430): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
[C Error] ComCtrls.hpp(3431): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
.
.
.
[C Error] DBCtrls.hpp(1075): E2015 Ambiguity between 'Buttons' and 'Excel_2k::Buttons'
[C Error] DBGrids.hpp(62): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
很多類似的err訊息,僅列出一部分

參考:
http://delphi.ktop.com.tw/board.php?cid=168&fid=918&tid=67999
說將#include加到"form_1頭文件檔"(應該是.h檔吧)頂端
結果:
[C Error] Project_DB_e.h(2): E2046 Bad file name format in include directive <----多了這個err其他不變

如果是將#include "form_2.h"放在"form_1.cpp"的頂端&將#include加到"form_1頭文件檔"頂端
結果:
[C Error] Project_DB_e.h(2): E2046 Bad file name format in include directive

如果僅將#include "form_2.h"放在"form_1.cpp"的頂端,"form_1頭文件檔"頂端不加#include
結果:(Form_Search=form_2的實際名稱,PROJECT_DB_E=form_1實際名稱)
[Linker Error] Unresolved external '_Form_Search' referenced from G:\BCB\0923_07\PROJECT_DB_0E\PROJECT_DB_E.OBJ

... ...
能有什麼辦法解決嗎??
似乎是Excel函式庫&DBGrid函式庫無法和平共存... ...>



dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-27 22:28:50 IP:59.105.xxx.xxx 訂閱
如您所查的那篇的解決方法,把您原本的

#include "ComObj.hpp"
#include "Excel_2K_SRVR.h"

#include "form_2.h"

改成

#include "form_2.h"
#include "ComObj.hpp"
#include "Excel_2K_SRVR.h"


只要把 Excel_2K_SRVR.h 變成是最後一個被 include 的就不會有問題,因為是命名空間沒有特別定義,使用預設又兩者以上同名時,就會有這種問題。


Seednet ShareMe 免費網路硬碟, 申請送2G, 用 MSN 幫她打廣告加 10G, 推薦1人加 1G, 活動只到 9 月底, 請把握時機
------
http://www.ViewMove.com
windzero000
一般會員


發表:3
回覆:4
積分:1
註冊:2007-09-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-27 22:35:12 IP:218.164.xxx.xxx 訂閱
謝謝你
我會試試看的


關於
"如果是將#include "form_2.h"放在"form_1.cpp"的頂端&將#include加到"form_1頭文件檔"頂端
結果:
[C Error] Project_DB_e.h(2): E2046 Bad file name format in include directive"
""內的問題
參考
http://delphi.ktop.com.tw/board.php?cid=168&fid=920&tid=86062
裡的說明加入*.lib還是啥的就能Compiler成功了
新手上路請多指教阿...

感謝回覆
編輯記錄
windzero000 重新編輯於 2007-09-27 22:41:01, 註解 無‧
系統時間:2024-05-03 22:18:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!