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

更新Indy後BCB無法繼續使用

答題得分者是:Hero
myelf
一般會員


發表:22
回覆:11
積分:6
註冊:2004-12-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-04 22:08:57 IP:211.76.xxx.xxx 未訂閱
我參考了這篇文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25182 將自己的BCB6中Indy8升級成9 過程一切順利 開啟了自己的專案然後把Indy9的元件放進去.. 也很順利... 但是按下F9後不能執行 顯示如下訊息 [C++ Error] winsock2.h(109): E2238 Multiple declaration for 'fd_set' [C++ Error] winsock.h(54): E2344 Earlier declaration of 'fd_set' [C++ Error] winsock2.h(112): E2146 Need an identifier to declare [C++ Error] winsock2.h(153): E2238 Multiple declaration for 'timeval' [C++ Error] winsock.h(97): E2344 Earlier declaration of 'timeval' [C++ Error] winsock2.h(209): E2238 Multiple declaration for 'hostent' [C++ Error] winsock.h(153): E2344 Earlier declaration of 'hostent' [C++ Error] winsock2.h(222): E2238 Multiple declaration for 'netent' [C++ Error] winsock.h(166): E2344 Earlier declaration of 'netent' [C++ Error] winsock2.h(229): E2238 Multiple declaration for 'servent' [C++ Error] winsock.h(173): E2344 Earlier declaration of 'servent' [C++ Error] winsock2.h(241): E2238 Multiple declaration for 'protoent' [C++ Error] winsock.h(185): E2344 Earlier declaration of 'protoent' [C++ Error] winsock2.h(327): E2238 Multiple declaration for 'in_addr' [C++ Error] winsock.h(269): E2344 Earlier declaration of 'in_addr' [C++ Error] winsock2.h(385): E2238 Multiple declaration for 'sockaddr_in' [C++ Error] winsock.h(319): E2344 Earlier declaration of 'sockaddr_in' [C++ Error] winsock2.h(395): E2238 Multiple declaration for 'WSAData' [C++ Error] winsock.h(329): E2344 Earlier declaration of 'WSAData' [C++ Error] winsock2.h(411): E2146 Need an identifier to declare [C++ Error] winsock2.h(546): E2238 Multiple declaration for 'sockaddr' [C++ Error] winsock.h(492): E2344 Earlier declaration of 'sockaddr' [C++ Error] winsock2.h(586): E2238 Multiple declaration for 'sockproto' [C++ Error] winsock.h(501): E2344 Earlier declaration of 'sockproto' [C++ Error] winsock2.h(625): E2238 Multiple declaration for 'linger' [C++ Error] winsock2.h(625): E2228 Too many error or warning messages 以上的錯誤並不是我程式碼裡面的 而是winsock2.h 是因為更新過程有錯誤嗎??? (更新完成後啟動過程一切順利@@) 如果我將Project->Options->Directories / Conditional中的 Include path把上面文章的C:\Indy\C6砍掉 Complie順利通過,但無法執行 顯示下面的畫面 不知道各位有沒有辦法解決呢@@?感謝~~ (應該是更新過程有問題吧Orz)
kagaya
中階會員


發表:74
回覆:175
積分:59
註冊:2002-12-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-05 09:33:19 IP:210.200.xxx.xxx 未訂閱
好像是因為和winsock1.1衝突 另開一個專案只用indy的元件不用舊的元件應該就ok了 我是這樣用的.參考看看
------
KUSO 無處不在
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-05 14:13:42 IP:61.219.xxx.xxx 未訂閱
請勿用升級的方法,利用BCB安裝片把Indy移除後再裝Indy 9就行了 您沒看清楚http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25182 的說明喔    

1)移除 BCB6 中原本的 Indy
   (1.1)放入原本安裝 BCB6 的光碟片,選擇「C   Builder 6」
   (1.2)在 Borland C   Builder 6 Enterprise Edition - Installation
        Wizard 中,按「Next」
   (1.3)在「Program Maintenance」Dialog 中,選擇「Modify」然後按
        「Next」
   (1.4)在「Custom Setup」Dialog 中,點選「Program Files/Indy」節點,
        並選擇「Do not Install」然後按「Next」
   (1.5)剩下的步驟都按「Next」就可以將 BCB6 中原本的 Indy 給移除了
/*生活是一種藝術,用心生活享受生活*/
myelf
一般會員


發表:22
回覆:11
積分:6
註冊:2004-12-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-05 23:42:37 IP:211.76.xxx.xxx 未訂閱
感謝兩位的回應 我之前描述的方式可能不恰當^^" 我是照文章的方式更新,不是"升級" 最後解決的方式是將BCB整個反安裝,然後重新安裝時不要安裝Indy 接著在另外安裝Indy9就可以了 另外,我發現上述的錯誤似乎是因為其他網路元件的問題 並不是Indy更新的問題.. (刪除了一個Comxxx.hpp後就整個正常了@@) 感謝兩位^^"
guanyueguan
一般會員


發表:1
回覆:4
積分:1
註冊:2005-02-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-12 11:25:12 IP:211.148.xxx.xxx 未訂閱
應該是與TServerSocket或TClientSocket發生的沖突,試試重新安裝CB行不行。
Hero
一般會員


發表:3
回覆:10
積分:12
註冊:2002-07-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-06-07 11:02:48 IP:116.59.xxx.xxx 訂閱
這是因為Indy是基於Winsock 2.2,而其他的通訊相關元件使用的版本不同導致
點選Projects -> Options,切到Directories/Condictionals頁,在Condictional defines項目加上_WINSOCKAPI_就可以解決了

系統時間:2024-04-26 19:21:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!