• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              14 隨筆 :: 0 文章 :: 74 評(píng)論 :: 0 Trackbacks

            在C++Builder中安裝Indy 10.2.3詳細(xì)步驟


            作者:Tuuzed(土仔)    
            版權(quán)聲明:可以任意轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明
            http://www.shnenglu.com/tuuzed/archive/2008/06/17/53771.html




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

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

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

            indy1

             

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

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

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

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

            剛開始我沒有卸載原來的版本,安裝后進(jìn)行測(cè)試竟然出錯(cuò)了,后來上網(wǎng)搜索,發(fā)現(xiàn)要卸載原來的Indy8控件。卸載很簡(jiǎn)單:

            1、進(jìn)入BCB6 IDE-關(guān)閉所有項(xiàng)目“File-Close All”-Component-Install Packages,Remove掉有Indy字樣的控件包,OK退出,再關(guān)閉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*.* 。為了對(duì)INDY8做個(gè)備份,我寫了一個(gè)Uninstall的bat文件,先找地方建立一個(gè)目錄,運(yùn)行它就行了,它會(huì)原樣把目錄建起來:

             

             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改個(gè)名字吧,加個(gè).old,表示這是老的Indy控件了。

            第四步:安裝Indy10到BCB6 IDE。

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

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


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

            第五步:安裝結(jié)束和測(cè)試。

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

             

             

            額外提示:

            1、Indy是一個(gè)開源的項(xiàng)目,不可能保證你的項(xiàng)目它能完全兼容,時(shí)刻注意Indy項(xiàng)目的發(fā)展和更新代碼是關(guān)鍵;

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

            3、學(xué)習(xí)無止境,實(shí)踐出真知。感謝網(wǎng)上所有給我提供參考和幫助的人。

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

            評(píng)論

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2008-06-18 09:02 夢(mèng)在天涯
            平時(shí)用C++ builder的嗎,主要是做什么類型的項(xiàng)目的哦?  回復(fù)  更多評(píng)論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2008-06-18 12:44 土仔
            @夢(mèng)在天涯
            常用BCB,有時(shí)偶爾用用VC吧。沒有什么項(xiàng)目,自己玩玩,想到什么就做什么吧。失業(yè)中。。。。。  回復(fù)  更多評(píng)論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2008-06-30 13:11 信任
            平時(shí)喜歡用bcb,當(dāng)然也要看具體的項(xiàng)目了,呵呵  回復(fù)  更多評(píng)論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2008-08-22 14:19 xuliang
            請(qǐng)問在c++ builder 2007或delphi 2007怎么安裝,  回復(fù)  更多評(píng)論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2008-08-27 13:10 土仔
            @xuliang
            在Lib里有fulld10.bat,應(yīng)該支持Delphi2007。因?yàn)闆]有裝BCB2007,所以不知道該如何安裝,建議去控件的主頁上看看。  回復(fù)  更多評(píng)論
              

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

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

            如果,其他元件也出現(xiàn)這樣的問題,建議你把Project-Options-Directories/Conditionals-include path和Library path中的indy10目錄移動(dòng)到第一個(gè)位置試試。  回復(fù)  更多評(píng)論
              

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

            我是用「FULLC6.bat」來打包的,這個(gè)檔案應(yīng)該沒有錯(cuò)吧?
            先謝謝土仔大大的回覆了。^ ^  回復(fù)  更多評(píng)論
              

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

            我是用「FULLC6.bat」來打包的,這個(gè)檔案應(yīng)該沒有錯(cuò)吧?
            先謝謝土仔大大的回覆了。^ ^  回復(fù)  更多評(píng)論
              

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

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2009-07-01 08:15 魯魯
            謝謝土仔大大的回覆!
            我也是用BCB6的(因?yàn)楣静唤o買其它版本……Orz)

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

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

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

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

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2009-07-18 00:48 土仔
            @魯魯
            不好意思,上個(gè)星期出差剛回。我嘗試了一下,我的INDY10確實(shí)也是這個(gè)問題。隨便GOOGLE了一下,網(wǎng)路上的一個(gè)檔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.

            目前我認(rèn)為只能自己用BCC32命令來生成.OBJ文件才能解決問題了。  回復(fù)  更多評(píng)論
              

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

            我有另外測(cè)了一下10.5.5的版本,結(jié)果仍是相同,所以應(yīng)該就是沒辦法正常在bcb6下用了吧…

            最後想再請(qǐng)教土仔大大是利用什麼關(guān)鍵字搜尋的呢?
            我在網(wǎng)路上也找了很久,但沒看到土仔大提供的這段訊息哩。  回復(fù)  更多評(píng)論
              

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

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

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2009-08-03 23:46 魯魯
            土仔大大您好,我有在網(wǎng)路上找到IndyFAQ.pdf的這個(gè)檔案
            在您說提到的那一段文章之後有這麼一項(xiàng):
            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中使用?
            中間提到了很多運(yùn)行時(shí)期以及設(shè)計(jì)時(shí)期的內(nèi)容,無奈小弟才疏學(xué)淺,看不懂這文章的精華,還請(qǐng)土仔大大賜教了!  回復(fù)  更多評(píng)論
              

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

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

            Idantifreeze.pas
            包到專案中即可  回復(fù)  更多評(píng)論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 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.   回復(fù)  更多評(píng)論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 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.  回復(fù)  更多評(píng)論
              

            # re: 在C++Builder中安裝Indy 10.2.3詳細(xì)步驟 2013-06-06 20:51 智能辦公
            以前一直用Delphi,現(xiàn)在想學(xué)習(xí)一下CB,感謝分享!  回復(fù)  更多評(píng)論
              

            久久精品国产亚洲77777| 亚洲成av人片不卡无码久久| 天天综合久久一二三区| 99久久精品费精品国产一区二区 | 99久久国产综合精品麻豆| 婷婷久久五月天| 人人狠狠综合久久亚洲88| 尹人香蕉久久99天天拍| 国产亚洲欧美成人久久片| 久久精品国产色蜜蜜麻豆| 精品免费久久久久久久| 久久精品一区二区三区中文字幕| 久久精品国产亚洲av麻豆蜜芽| 波多野结衣中文字幕久久| 国内精品久久久久影院亚洲| 精品午夜久久福利大片| 亚洲精品无码久久久久AV麻豆| 国产一区二区三区久久精品| 狠狠色婷婷久久综合频道日韩| 99久久成人18免费网站| 亚洲综合熟女久久久30p| 精品久久久久久无码中文野结衣| 久久Av无码精品人妻系列| 亚洲成av人片不卡无码久久| 国产亚州精品女人久久久久久| 久久99精品国产麻豆| 日韩精品久久久久久免费| 中文精品99久久国产| 久久久久久毛片免费看| 大伊人青草狠狠久久| 精品熟女少妇av免费久久| 国产精品中文久久久久久久| 久久国产乱子伦精品免费午夜| 高清免费久久午夜精品| 狠狠色婷婷综合天天久久丁香 | 国产综合精品久久亚洲| 久久精品中文字幕久久| 久久免费视频观看| 久久亚洲国产午夜精品理论片| 久久99国产精品一区二区| 成人免费网站久久久|