• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            悲情土仔一生

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              14 隨筆 :: 0 文章 :: 74 評論 :: 0 Trackbacks

            在C++Builder中安裝Indy 10.2.3詳細步驟


            作者:Tuuzed(土仔)    
            版權聲明:可以任意轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息及本聲明
            http://www.shnenglu.com/tuuzed/archive/2008/06/17/53771.html




            一直想自己制作一個通過SMTP協議發送郵件的小程序,打開BCB才知道BCB6中自帶有NMSMTP和IdSMTP兩種控件。NMSMTP只支持比較老的RFC821協議,通俗來說就是不支持目前SMTP服務器所需要的EHLO命令(具體可參考RFC1869和RFC2554);而InSMTP是支持較新的RFC協議的。無奈的是BCB6原來自帶的是Indy8套件?好老了,在Indy網頁中都已經到Indy9和Indy10了。目前網上關于Indy10的討論漸漸多了起來(英文網站討論的比較多些),但總體說來是不夠,例如在BCB6中如何安裝等等。通過上網搜索和自己半天的摸索,終于在BCB6中安裝好了最新的Indy 10.2.3版本。

            第一步:下載Indy 10源代碼 。

            Indy是開源的項目,是由SubVersion來管理版本信息。主頁中有給出鏈接地址:http://www.indyproject.org:8080/svn,進去后一定要注意:不要一個一個文件下載,要通過SubVersion系統的打包程序來打包源代碼,防止遺漏或弄錯成了測試代碼;并只用選擇trunk這個目錄即可,其他的目錄是給調試或測試的人員使用的(主頁http://www.indyproject.org/Sockets/Download/IndyviaSubversion.EN.aspx上有說明),見圖:

            indy1

             

            首先在trunk目錄前打勾,在toggle右邊的下拉框中選擇“Download as zip”,按Go!下載源代碼,保證是最新的了(看右邊目錄的時間。

            第二步:編譯Indy 10源代碼。

            廢話一句,這一步首要的是確保你安裝了BCB或DELPHI。解壓下載來的ZIP文件,進入trunk\Lib,這里能看到有一些bat文件和目錄。其中“Fullc6.bat”是我們需要運行的安裝文件(C6表示BCB6版本,D6表示DELPHI6等等),以前網上說需要對Indy10的安裝文件Fullc6.bat和某個.hpp文件進行改進(見ccrun網站上的Indy10源代碼)。可能是這個版本比較新,我運行了一下,只是在最后會提示“系統找不到指定的文件。”,分析一下bat文件內容,是“copy *.rsp ..\..\C6”語句引起的錯誤,我找遍了整個trunk都沒有.rsp文件,估計是以前的版本遺留下來的語句。不放心的話,可以注釋掉bat中的這句語句,編譯一樣能通過,并且成功完成。不出意外,trunk下應該就有一個C6目錄了,這就是我們需要的控件代碼了。

            第三步:卸載BCB6自帶的Indy8控件。

            剛開始我沒有卸載原來的版本,安裝后進行測試竟然出錯了,后來上網搜索,發現要卸載原來的Indy8控件。卸載很簡單:

            1、進入BCB6 IDE-關閉所有項目“File-Close All”-Component-Install Packages,Remove掉有Indy字樣的控件包,OK退出,再關閉BCB 6。

            2、將BCB6安裝目錄下的文件刪除或移走。有以下一些文件:\bin\dclindy60.bpl \lib\obj\dclindy.dcp;\lib\obj\dclindy.dcu;\lib\obj\id*.dcu ;\lib\obj\indy.dcp;\lib\obj\indy.dcu;\include\vcl\id*.* 。為了對INDY8做個備份,我寫了一個Uninstall的bat文件,先找地方建立一個目錄,運行它就行了,它會原樣把目錄建起來:

             

             1REM %1=BCB installtion dir
             2mkdir bin
             3mkdir lib
             4cd lib
             5mkdir obj
             6mkdir Debug
             7mkdir Release
             8cd ..\
             9mkdir include
            10cd include
            11mkdir vcl
            12cd ..\
            13MOVE %1\bin\dclindy60.bpl bin\    
            14MOVE %1\lib\obj\dclindy.dcp lib\obj\      
            15MOVE %1\lib\obj\dclindy.dcu lib\obj\      
            16MOVE %1\lib\obj\id*.dcu lib\obj\      
            17MOVE %1\lib\obj\indy.dcp lib\obj\     
            18MOVE %1\lib\obj\indy.dcu lib\obj\   
            19MOVE %1\lib\Debug\indy.* lib\Debug\
            20MOVE %1\lib\Release\indy.* lib\Release\   
            21MOVE %1\include\vcl\id*.* include\vcl\

             
            3、將BCB6安裝目錄下CBuilder6\Source\indy改個名字吧,加個.old,表示這是老的Indy控件了。

            第四步:安裝Indy10到BCB6 IDE。

            1、Copy 源代碼trunk\C6目錄到BCB6安裝目錄下,我還是放在Source下,把C6改名為Indy10。

            2、運行BCB6-關閉所有項目“File-Close All”-Component-Install Packages-Add,把剛才改名的indy10目錄下的dclIndyCore60.bpl和dclIndyProtocols60.bpl項目加進來。保存設置后,再選擇Project-Options-Directories/Conditionals-include path和Library path中將indy10的目錄添加進來,保存設置。


            ※以下為2008年08月03日增加※
            3、拷貝IndyProtocols60.bpl,IndyProtocols60.bpi,IndyCore60.bpl,IndyCore60.bpi,IndySystem60.bpl,IndySystem60.bpi共6個文件到WINDOWS安裝目錄的system32下。
            ※增加結束※

            第五步:安裝結束和測試。

            重啟BCB看看,是不是有Indy10圖標出來了?沒有的話,可能是漏了哪一部了。再重做一遍看看。如果不出意外,在控件列表最后已經有最新的idny控件出來了,圖標好看了很多(僅僅是給設計人員看的圖標)。新建一個項目,然后拖一個控件進來,在控件上鼠標右鍵,可以看看版本號,build項目一下,如果沒有error,那就證明安裝成功了。

             

             

            額外提示:

            1、Indy是一個開源的項目,不可能保證你的項目它能完全兼容,時刻注意Indy項目的發展和更新代碼是關鍵;

            2、開源項目的文檔比較少,主要還是靠網上高人的支持和其他一些開發人員的測試,主頁上有文檔下載URL: http://www.projectindy.org/downloads/IndyDocs_10.1.5.0_HtmlHelp.zip。看了一下,是indy10.1.5的,和10.2.3還是有些差別,而且有些方法和屬性不詳細,如果想要進一步的支持,好像可以買項目組出的技術書,具體看主頁吧。

            3、學習無止境,實踐出真知。感謝網上所有給我提供參考和幫助的人。

            posted on 2008-06-17 23:28 土仔 閱讀(15436) 評論(22)  編輯 收藏 引用 所屬分類: 土仔編程

            評論

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2008-06-18 09:02 夢在天涯
            平時用C++ builder的嗎,主要是做什么類型的項目的哦?  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2008-06-18 12:44 土仔
            @夢在天涯
            常用BCB,有時偶爾用用VC吧。沒有什么項目,自己玩玩,想到什么就做什么吧。失業中。。。。。  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2008-06-30 13:11 信任
            平時喜歡用bcb,當然也要看具體的項目了,呵呵  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2008-08-22 14:19 xuliang
            請問在c++ builder 2007或delphi 2007怎么安裝,  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2008-08-27 13:10 土仔
            @xuliang
            在Lib里有fulld10.bat,應該支持Delphi2007。因為沒有裝BCB2007,所以不知道該如何安裝,建議去控件的主頁上看看。  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-06-29 16:19 魯魯
            土仔大大您好,我有按照文章的內容步驟做
            可以正常安裝
            但我一但用到idAntiFreeze元件時就會發生:
            [Linker Fatal error] Unable to open file 'IDANTIFREEZE.OBJ'
            的問題,不知大大有沒有解決的方法?  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-06-29 22:40 土仔
            @魯魯
            首先,要確定你安裝的indy和c++builder的版本號是多少。indy 10有用最新的嗎?安裝成功后,先不用idAntiFreeze元件,使用其他的元件試試有沒有同樣的問題?

            如果,其他元件也出現這樣的問題,建議你把Project-Options-Directories/Conditionals-include path和Library path中的indy10目錄移動到第一個位置試試。  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-06-30 11:08 魯魯
            土仔大您好
            我用IdHTTP元件的話就沒有問題(不過仍然不能get網頁…不知道是哪邊設定錯誤)

            我是用「FULLC6.bat」來打包的,這個檔案應該沒有錯吧?
            先謝謝土仔大大的回覆了。^ ^  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-06-30 11:09 魯魯
            土仔大您好
            我用IdHTTP元件的話就沒有問題(不過仍然不能get網頁…不知道是哪邊設定錯誤)

            我是用「FULLC6.bat」來打包的,這個檔案應該沒有錯吧?
            先謝謝土仔大大的回覆了。^ ^  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-06-30 20:56 土仔
            @魯魯
            還是沒有弄清楚你的C++ BUILDER是什麼版本,如果是6,才能用FULLC6.BAT打包,如果不是,那就不行了。不能get,說明功能有缺失。。  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-07-01 08:15 魯魯
            謝謝土仔大大的回覆!
            我也是用BCB6的(因為公司不給買其它版本……Orz)

            不知土仔大還有沒有在使用indy10來開發新的軟件,好期待土仔大有新的文章~~~~

            另一方面,我最近也重裝了indy9(2008年最後的版本,不知版次為何)
            發現indy9跟indy8也有點小小的落差,不過沒像indy10這麼難以練習

            但學indy10是潮流吧,總不能一直在用舊的東西…
            不好意思,還是小抱怨了一下
            謝謝土仔大大了唷!  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-07-06 10:41 魯魯
            另外,我在bcb6上使用indy10.2.3
            在使用TIdAntiFreeze元件後
            會出現
            「Linker Fatal Error ......... "idantifreeze.obj"」
            的問題
            不知道土仔大大有沒有遇到過這樣的問題呢?  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-07-18 00:48 土仔
            @魯魯
            不好意思,上個星期出差剛回。我嘗試了一下,我的INDY10確實也是這個問題。隨便GOOGLE了一下,網路上的一個檔IndyFAQ.pdf里有說道:
            We had to do something unusual in the Indy packages by putting a run-time unit (IdAntiFreeze) into the design-time package instead of the run-time package so the run-time package would only depend on the RTL and not the visual Component Library. In Borland Delphi, this is not a problem if the IdAntiFreeze was included and because that unit has no design-time code in it at all.
            Unfortunately, this is a problem in C++Builder because you depend upon a .HPP and .OBJ file for
            that unit and in C++Builder, those are not generated for design-time packages at all. For
            C++Builder, we have to trick the Delphi compiler (that's included in C++Builder) into generating the
            .HPP and .OBJ files for IdAntiFreeze using a dummy unit named IdDummyUnit.

            目前我認為只能自己用BCC32命令來生成.OBJ文件才能解決問題了。  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-07-27 13:29 魯魯
            謝謝土仔大大的分享,目前我的做法是先改回indy9的最後版本
            感覺起來還蠻搭的

            我有另外測了一下10.5.5的版本,結果仍是相同,所以應該就是沒辦法正常在bcb6下用了吧…

            最後想再請教土仔大大是利用什麼關鍵字搜尋的呢?
            我在網路上也找了很久,但沒看到土仔大提供的這段訊息哩。  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-08-01 13:36 土仔
            @魯魯
            你試試IndyFAQ.pdf這個關鍵字看看。如果沒有找到,發私人留言給我你的郵箱地址。  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-08-03 19:15 bingyu0914
            問下INDY10.2.3中的idFTPServer支持IPV6嗎?為什么我的總有錯?  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-08-03 23:46 魯魯
            土仔大大您好,我有在網路上找到IndyFAQ.pdf的這個檔案
            在您說提到的那一段文章之後有這麼一項:
            We never did use the IndyC*.bpk packages at all when building the Indy binaries for installations.
            We were simply the Delphi .dpk's along with some special parameters that cause DCC32 to
            generate .OBJ and .HPP files and then making a .LIB file. Now just so there's no
            misunderstanding, you can get C++Builder binaries from Delphi .dpk's and we know of two vendors
            that do this successfully. The processed for building the .BPK's with MAKE is really just the same
            thing because MAKE is just a batch processor that calls the Delphi compiler with the exact
            parameters we are using and having TLIB add the objects to the .LIB files.

            難道是在說利用Delphi所編譯出來的lib給bcb中使用?
            中間提到了很多運行時期以及設計時期的內容,無奈小弟才疏學淺,看不懂這文章的精華,還請土仔大大賜教了!  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-11-11 13:11 aaaaaaa98
            [Linker Fatal error] Unable to open file 'IDANTIFREEZE.OBJ'
            我用dcc32編譯了idantifreeze.obj,但是出現handlefinally()找不到的錯誤,
            無法解決,請各位同行幫忙  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2009-12-01 22:50 魯魯
            IDANTIFREEZE.OBJ有解了

            Idantifreeze.pas
            包到專案中即可  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2010-06-06 01:39 BlanchardRobyn34
            I took my first <a href="http://lowest-rate-loans.com/topics/business-loans">business loans</a> when I was 32 and this supported me very much. But, I need the auto loan also.   回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2013-04-06 18:49 samples of resume writing
            At whatever time you desire to get high quality samples of resume writing, you must go for the bureaus which are highly popular among the customers for providing errorless papers.  回復  更多評論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細步驟 2013-06-06 20:51 智能辦公
            以前一直用Delphi,現在想學習一下CB,感謝分享!  回復  更多評論
              

            国产亚洲精午夜久久久久久| 久久久精品国产| 国产欧美久久久精品| 女人香蕉久久**毛片精品| 久久免费视频网站| 色婷婷综合久久久久中文字幕| 日韩人妻无码精品久久久不卡 | 国内精品免费久久影院| 人妻无码精品久久亚瑟影视| 久久国产色AV免费看| 久久综合一区二区无码| 久久精品无码专区免费东京热| 国产三级观看久久| 日产精品99久久久久久| 日韩欧美亚洲综合久久影院Ds | 亚洲午夜福利精品久久| 国产成人久久精品区一区二区| 久久久久国产视频电影| 久久午夜伦鲁片免费无码| 理论片午午伦夜理片久久| 99久久国产热无码精品免费| 一本色道久久88综合日韩精品 | 久久电影网一区| 囯产极品美女高潮无套久久久 | 九九久久精品国产| 国产精品久久久久久久久鸭| 久久免费视频1| 久久综合给合综合久久| 99久久精品费精品国产| 一级做a爰片久久毛片16| 久久精品欧美日韩精品| 日日躁夜夜躁狠狠久久AV| 蜜桃麻豆WWW久久囤产精品| 日韩久久无码免费毛片软件| 久久久久国产日韩精品网站| 国产成人久久精品麻豆一区| 久久久国产精品福利免费| 99久久精品国产麻豆| 久久99国产精一区二区三区| 久久99国产精品久久| 国产激情久久久久影院小草|