Chinaunix首页 | 论坛 | 博客
  • 博客访问: 545045
  • 博文数量: 252
  • 博客积分: 6057
  • 博客等级: 准将
  • 技术积分: 1635
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-21 10:17
文章分类

全部博文(252)

文章存档

2013年(1)

2012年(1)

2011年(32)

2010年(212)

2009年(6)

分类: 项目管理

2010-08-05 16:48:43

今天在学习如何在C++Builder下实现FTP断点续传的技术时,发现文中对FASTNET组件于其他的网络组件进行了一个评比,文中指出了FASTNET组件的NMFTP组件存在的问题。突然发现我们开发的很多的网络程序都有用到FASTNET组件,想想文中提到的FASTNET组件的一些Debug就有一点恐惧。于是在网上疯狂的搜索FASTNET组件的源代码包,功服不负有心人,在delphi盒子论坛上找到了FASTNET组件的源码包。(在这里要感谢谢我们伟大的同行们无私的奉献。在这里贴出本人对FASTNET组件源码的备份地址:http://blogimg.chinaunix.net/blog/upfile2/100805121102.zip)

源代码下载下来后,就开发对源码进行编译,发现该组件包中没有提供c++ builder的bpk的工程文件,只有delphi的dpk工程文件,本人机子上没有delphi,同事们也都是使用c++作开发的,突然发现编译该代码挺困难的。但是本人好奇心强,想看看这份代码是否是有用的代码,所以决定使用BCB6.0对其强制编译。

本人编译FASTNET组件源码包的步聚如下:
1.首先去老妖大哥的网站上下载一个dpk转bpk的工程文件转换小工具dpk2bpk。
  下面给出dpk2bpk工具的下载说明:
  http://blog.chinaunix.net/u3/108571/showart_2290774.html
  在这篇blog的结尾处有该工具的介绍,和下载地址。
 
  获的dpk2bpk工具后,将其解压到含有FASTNET源代码的文件夹下,这本机是FASTNET\Lib文件夹下。
  使后用鼠标托动DCLNMF50.dpk文件到dpk2bpk.exe文件上面,执行dpk到bpk的格式转换。dpk2bpk工具
  将对DCLNMF50.dpk文件生成bcb能使用的DCLNMF50.bpk和一个DCLNMF50.Cpp文件。因为我们使用的是
  bcb6.0版本,所以我们要对生成的DCLNMF50.bpk文件内容进行一点改到,使用记事本打开DCLNMF50.bpk
  文件,将50的字符全部替换成60的字符就可以了,然后保存文件。文件保存后,就修改DCLNMF50.bpk和
  DCLNMF50.Cpp文件的文件名,将文件名改为DCLNMF60.bpk和DCLNMF60.Cpp。这样就可以用bcb6打开
  DCLNMF60.bpk工程文件了。

2.DCLNMF60.bpk文件被打开后会弹出一个Package管理器的对话框里面会有DCLNMF60.bpk包中的一些包
  含文件列表信息和编译该组件包的所关联的一些必要条件。在Package包管理器中的Contains文件包中里
  面包含有4个文件(dclnmf60.cpp,dclnmf60.res,nmReg.dcr,NMReg.pas)。然后点击Package包
  管理器中的Compile功能按钮编译DCLNMF60.bpk组件包,接这bcb6开始对这个包进行编译,在编译的时候
  出现一条“提示File not found 'DesignIntf.dcu'”这样的错误提示。然后开始查看NMReg.pas
  中的源码,发现在NMReg.pas单元文件中的 Uses声名项中有声名DesignIntf,和DesignEditors单元,
  出现问题后在网上又是一阵狂搜,最后找到解决方案:《 D7下提示File not found
  'DesignIntf.dcu'解决方法
  URL: http://blog.chinaunix.net/u3/108571/showart_2290928.html
  这方法是在网上搜集的,本人参考一下该方法,在本机的实际操作方法如下:选择BCB开发工具的菜单栏上
  的Project->Options,单击Options按钮弹出Project Options for dclnmf60.bpl对话框,然后选
  择Directories/Conditionals页面,编辑这个页面中的(Library path:)编辑框-点击Library
  path:编辑框右边的[...]按钮,弹出Directories对话框,点击Greyed items denote invalid
  path:下面的编辑框中右边的[...]弹出文件浏览对话框,将BCB安装目录下的Source\Toolsapi文件
  夹选中,然后单击OK,这文件添加到Ordered List of Library paths:文件列表框中。完成上述操作
  后,再点击Package管理器中的Compile功能按钮,进行编译发现还是不通过,bcb提示[Linker Fatal
  Error]Fatal:Unable to Open file 'MYDIYCOMPONENT.LIB'这样的错误,发现 
  MYDIYCOMPONENT.LIB是本人开发的一个TNumberEdit控件的一个Lib库文件来的,本人将该控件放在本
  机的BCB安装文件夹的Othervcl\MyDiyComponet目录下,然后将存放MYDIYCOMPONENT.LIB库文件的目
  录路径添加Library path:中。就差不多可以编译生成dclnmf60.bpl文件了。不过还差最后一步。

3.将FastNet目录下的Lib文件夹中的所有的*.Pas文件添加到Package管理器中的Contains文件包下。如果
  不知道怎添加这些文件到Package管理器中,本人给一个参考操作,点击Add功能按钮,弹出Add对话框,
  点击Unit file name:编辑框右边的[Browse]按钮,弹出文件选择对话框,然后找到FastNet组件源码中
  的Lib文件夹下,将该文件夹下的所有Pas文件全部选中添加到Package管理器中的Contains中,然后点
  击Compile按钮对FastNet组件进行编译,然后稍等一会几就弹出 Compiling对话框,然后Done:这一行
  出现Maked的提示就表示FastNet组件源码编译成功了。OK。

阅读(2442) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chulia200020012010-08-06 14:17:00

手动安装FastNet VCL组件的各种路径设置: Lib目录: 是用来存放dclnm60.lib和*.bpi文件的。 |--- Obj子目录:是用来存放*.dcu文件和*.dfm文件的。 Include目录:是用来存放C库函数的*.h文件。 |--- Vcl子目录:是用来存放pas文件对应的*.hpp头文件的。 Bin目录: 是用来存生成的*.bpl vcl组件动态库的二进制文件的。