最开始出的问题是因为没有安装ICS控件。后来我从官网 http://www.overbyte.be/frame_index.html 下载了这个控件,并正确安装。然后打开baidump3的源码,还是不能正常编译执行。报的错误在
WSocket文件中的2173行
[Pascal Error] WSocket.pas(2173): E2064 Left side cannot be assigned to
2173:    WSocketGForced := TRUE;以下是所有的报错信息。
[Pascal Error] WSocket.pas(2173): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2174): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2194): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2195): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2230): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2270): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2326): E2003 Undeclared identifier: 'GWSockCritSect'
[Pascal Error] WSocket.pas(2326): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(2329): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2349): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(2415): E2003 Undeclared identifier: 'GWSockCritSect'
[Pascal Error] WSocket.pas(2415): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(2416): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2417): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(2424): E2003 Undeclared identifier: 'GWSockCritSect'
[Pascal Error] WSocket.pas(2424): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(2425): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(2426): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(3390): E2003 Undeclared identifier: 'XSocketAllocateHWnd'
[Pascal Error] WSocket.pas(3414): E2003 Undeclared identifier: 'XSocketDeallocateHWnd'
[Pascal Error] WSocket.pas(3480): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(3505): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(3556): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(3575): E2064 Left side cannot be assigned to
[Pascal Error] WSocket.pas(6908): E2003 Undeclared identifier: 'GClassCritSect'
[Pascal Error] WSocket.pas(6908): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(6909): E2003 Undeclared identifier: 'GWSockCritSect'
[Pascal Error] WSocket.pas(6909): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(6917): E2033 Types of actual and formal var parameters must be identical
[Pascal Error] WSocket.pas(6919): E2033 Types of actual and formal var parameters must be identical
[Pascal Fatal Error] HttpProt.pas(402): F2063 Could not compile used unit 'WSocket.pas'从这些错误来看,问题出在哪里?是我没有正确的安装VCL控件吗?我没有找到WSocket的对象,在控件菜单中只找到一个TWSocket这么一个控件

解决方案 »

  1.   

    1. 目前只在 Delphi 7 中编译通过,其他版本并未尝试。2. 安装 ICS 控件包,双击打开 components\ics\Delphi\Vc32\IcsDel70.dpk,然后点击 Install。3. 安装 TntUnicodeControls 控件包,双击打开 components\TntUnicodeControls\Packages\d7\TntUnicodeVcl_D70.dpk,然后点击 Install。4. 双击打开 src 目录下的 BaiduMp3.dpr,可以看到源代码,尝试编译是否通过。5. 如果您的计算机安装了 PHP,则可以在每次发布时,通过运行 src\build.bat 来创建新版本的 EXE。当然,首先你可能需要修改一下 build.php,确保 $D 指向正确的 Delphi 路径。
      

  2.   

    我用的是DelphiX Lite版的。郁闷,没有Dephi7...