现在的位置: 首页 > 综合 > 正文

indy安装

2014年02月05日 ⁄ 综合 ⁄ 共 3074字 ⁄ 字号 评论关闭

在C++Builder中安装Indy 10.2.3详细步骤

作者:Tuuzed
(土仔
)    
版权声明
:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者
信息及本声明

http://www.cppblog.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文件,先找地方建立一个目录,运行它就行了,它会原样把目录建起来:

 

 1
REM
 %1=BCB installtion dir


 2

mkdir bin

 3

mkdir lib

 4

cd lib

 5

mkdir obj

 6

mkdir Debug

 7

mkdir Release

 8

cd ..

/


 9

mkdir include

10

cd include

11

mkdir vcl

12

cd ..

/


13

MOVE %

1
/
bin
/
dclindy60.bpl bin
/
    

14

MOVE %

1
/
lib
/
obj
/
dclindy.dcp lib
/
obj
/
      

15

MOVE %

1
/
lib
/
obj
/
dclindy.dcu lib
/
obj
/
      

16

MOVE %

1
/
lib
/
obj
/
id
*
.dcu lib
/
obj
/
      

17

MOVE %

1
/
lib
/
obj
/
indy.dcp lib
/
obj
/
     

18

MOVE %

1
/
lib
/
obj
/
indy.dcu lib
/
obj
/
   

19

MOVE %

1
/
lib
/
Debug
/
indy.
*
 lib
/
Debug
/


20

MOVE %

1
/
lib
/
Release
/
indy.
*
 lib
/
Release
/
   

21

MOVE %

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、学习无止境,实践出真知。感谢网上所有给我提供参考和帮助的人。

抱歉!评论已关闭.