(又名FPIETTE的组件)
修订:2020年5月18日
发布:V8.64
http://www.overbyte.be/
http://wiki.overbyte.be/
http://www.overbyte.eu/
http://wiki.overbyte.eu/
https://svn.overbyte.be/svn/ics/
Copyright (C) 1997-2020 by François PIETTE
Rue de Grady 24, 4053 Embourg, Belgium
<[email protected]>
SSL implementation includes code written by Arno Garrels,
Berlin, Germany
ICS is freeware.
This software is provided 'as-is', without any express or
implied warranty. In no event will the author be held liable
for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it
and redistribute it freely, subject to the following
restrictions:
1. The origin of this software must not be misrepresented,
you must not claim that you wrote the original software.
If you use this software in a product, an acknowledgment
in the product documentation would be appreciated but is
not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
4. You must register this software by sending a picture postcard
to the author. Use a nice stamp and mention your name, street
address, EMail address and any comment you like to say.
5. As this code make use of OpenSSL, your rights are restricted
by OpenSSL license as soon as you use any SSL feature.
See http://www.openssl.org for details.
ICS是免费软件。您可以使用它而无需支付除注册明信片以外的任何费用(请参见下面的“注册”)。但是当然欢迎捐款。您可以将现金(欧元或美元)寄给我的街道地址,也可以在英国的亚马逊购买礼券。然后,我将使用它购买书籍。这是英国亚马逊的直接URL(离我家最近,请不要使用另一个):http://www.amazon.co.uk/exec/exec/obidos/gc-email-order-order1/ref=g_gc_email/202-6198323-668323-6681414,以通过电子邮件与我联系。
ICS是免费软件。如果您使用这些组件,则必须通过发送图片明信片来注册,以显示您所居住的区域,并为我的孩子们提供一些漂亮的邮票。不要使用信封,我收集发送给我的二手明信片。在明信片上写下这是您的ICS注册。
将您的卡拨给:比利时4053 Embourg的Francois Piette,Rue de Grady Rue。不要忘记提及您的姓名,街道地址,电子邮件和网站。
ICS是由FrançoisPiette设计的,但许多其他人正在研究组件和样本程序。每个源文件列表中所有开发人员贡献的变化历史(如果没有给出名称,则更改是F. Piette的)。我不能在这里列出所有贡献者,但我要特别感谢两个特别活跃的贡献者:
- Arno Garrels
-Angus Robertson [email protected]
2019年2月为ICS创建了一个新的Web支持论坛:
https://en.delphipraxis.net/forum/37-ics-internet-component-suite/
注册后,可以关注一个带有新帖子的电子邮件的论坛,或者像旧邮件列表这样的每日摘要。
旧的Twsocket邮件列表在2018年底接受新消息停止,但仍有20年的存档消息可用:
http://list.elists.org/pipermail/twsocket/
可以从ICS Wiki网站下载IC的最新版本:
http://wiki.overbyte.eu/wiki/index.php/ics_download
ICS V5和V6是不再更新的存档版本,最后支持的发行版是2007年。
ICS V7是一个稳定的版本,可能仍可用于主要错误,但对于Delphi的新版本而言,最新支持的是XE3。
ICS V8是当前的开发版本,该版本在公共版本控制存储库中每晚都被拉开,以便于下载。上面的下载页面还包括支持SSL所需的OpenSSL二进制文件。 ICS V8支持Delphi 64位和Mac OS-X项目。请注意,所支持的C ++构建器版本最多可达XE3、10.2东京及以后。当前没有XE4至10.1的C ++软件包。但是年龄较大或更新的人通常会起作用。
最新版本是v8.64,该版本将由OverByTeicsWsocket.pas和Integer Wsocketversion的版权常数报告为864。
ICS V9处于早期开发中,并计划支持Android和Linux服务器。目前没有针对iOS的ICS计划。
svn://svn.overbyte.be/ics/trunk或https://svn.overbyte.be/svn/ics/trunk
(USERCODE = ICS,密码= ICS)
ICS V8是为Embarcadero Delphi 2009及以上设计的,以及C ++ Builder 2009及以上,但与Borland Delphi 7和Codegear 2006和2007完全兼容。Embarcadero Rad Studio包括Delphi和C ++ Builder。
https://www.embarcadero.com/
使用Delphi XE2及以后,仅支持Delphi的VCL 64位Windows目标。目前,FireMonKey仅部分支持Delphi(仍然有一些非档案组件)。 MAC OSX的ICS目前是实验性的。
zip文件中有子目录。您必须使用winzip“使用文件夹名称”选项来还原该目录树,否则您将遇到问题,因为文件不会在其适当的子目录中。
请注意,这些目录中的大多数均与ICS V7及更早的命名,以减轻多个版本的Delphi和平台的支持,并简化相似示例项目的位置。请不要在现有的V7安装上安装V8,这将是新旧的混乱。
这是新的V8子目录布局:
. Info directory
.Install Component packages project groups for all versions
.Packages (was DelphiVc32) Delphi (7 and up) and C++Builder (2006 and up) packages projects
.Source (was DelphiVc32) ICS Delphi source code built into packages
.SourceInclude (was DelphiVc32) .inc files (including OverbyteIcsDefs.inc)
.SourceExtras (was DelphiVc32) Extra source code not built into packages
.Sourcezobj125 (was DelphiVc32) ZLIB C OBJ include files
.Lib Unit output directories for all package builds, subdirectories
| for 2007+ will be created on building the packages
$(Config) Release / Debug
|
$(Platform) Win32 / Win64 / OSX32
|
<delphi_version> D7..XE8, 10 Seattle includes .dcu and .dfm files for Delphi
and .obj and .hpp files for C++ Builder
.Samples Delphi Win32/Win64 common source for all demos
.SamplesdelphiBroswerDemo Delphi Win32/Win64 Web Browser sample application (all Delphi versions)
.SamplesdelphiBroswerDemoResources Resource file, web pages and movie linked into browser demo
.SamplesdelphiFtpDemos Delphi Win32/Win64 FTP sample applications (all Delphi versions)
.SamplesdelphiMailNewsDemos Delphi Win32/Win64 SMTP, POP3, NNTP sample applications (all Delphi versions)
.SamplesdelphiMiscDemos Delphi Win32/Win64 Miscellaneous applications (all Delphi versions)
.SamplesdelphiOtherDemos Delphi Win32/Win64 DNS, Ping, SNMP, Syslog sample applications (all Delphi versions)
.SamplesdelphiPlatformDemos Delphi FireMonkey and cross-platform samples (Delphi XE2+)
.SamplesdelphiSocketDemos Delphi Win32/Win64 Socket sample applications (all Delphi versions)
.Samplesdelphisslinternet Delphi Win32/Win64 SSL-enabled sample applications (all Delphi versions)
.SamplesdelphiWebDemos Delphi Win32/Win64 HTTP sample applications (all Delphi versions)
.SamplesdelphiWebDemosWebAppServerData Directory for WebAppServ demo data files
.SamplesdelphiWebDemosWebServData Directory for WebServ demo data files
.Samplescppinternet C++Builder sample applications
.Samplescppinternetcb2006 C++Builder 2006 projects
.Samplescppinternetcb2007 C++Builder 2007 projects
.Samplescppinternetcb2009 C++Builder 2009 projects
.Samplescppinternetcb2010 C++Builder 2010 projects
.SamplescppinternetcbXE C++Builder XE projects
.SamplescppinternetcbXE2 C++Builder XE2 projects
升级和重新安装
卸载现有的ICS软件包(菜单|组件|安装软件包,选择组件软件包,然后单击“删除”)。
重命名旧ICS目录并将其解放为新的或空的目录,从库路径中删除旧路径,然后添加新的。 source目录到工具下的库路径|选项| ...或适当的。
后者的优势是,每当您的项目构建时,就不会重新编译ICS源代码。同样在工具下|选项| ...将新的。 source目录添加到浏览路径。
所有Delphi和C ++构建器版本/Win32
始终使用Embarcadero提供的最新更新来升级编译器。始终使用http://windowsupdate.microsoft.com更新系统
SSL还是不是SSL?
默认情况下,将SSL代码编译到运行时软件包中,并安装了其他支持SSL的组件。为了不将SSL代码编译到运行时软件包中,并且不安装启用SSL的组件,您需要从运行时和设计时间软件包中删除有条件的use_ssl。
但是,如果您不使用运行时间软件包构建应用程序,建议使用默认设置构建包装。 SSL代码将根据条件定义USE_SSL是否在项目选项中设置为您的应用程序中的应用程序(这需要在库路径中或项目搜索路径中具有。 source目录)。
SSL在您的应用程序中的实际使用也需要OpenSL文件libcrypto-1_1.dll(或libcrypto-1_1-x64.dll)和libssl-1_1.dll(or Libssl-1_1-x64).dll。 ICS发行版包括最新的Win32 OpenSSL文件。
注意openssl 1.1.1及以后仅支持Windows Vista及以后的支持,以及Windows Server 2008以及更高版本,而不是Windows XP。
可以从:
http://wiki.overbyte.eu/wiki/index.php/ics_download
请注意,OpenSL对1.0.2和1.1.0的支持已停止,没有更多的安全修复程序,但是ICS将继续支持它们,直到2020年底。但是请搬到1.1.1,为1.1.1,OPENSSL将继续进行,直到2023年下半年,ICS将持续一年。 IC不再以OPENSL 0.9.8或1.0.0开始。
使用安装项目组安装
对于每个Delphi和C ++构建器版本,一个项目组都在目录中提供。 install:
Delphi 7 : D7Install.bpg
Delphi 2006 : D2006Install.bdsgroup
Delphi 2007 : D2007Install.groupproj
Delphi 2009 : D2009Install.groupproj
Delphi 2010 : D2010Install.groupproj
Delphi XE : DXeInstall.groupproj
Delphi XE2 : DXe2Install.groupproj // VCL only, no FireMonkey components
Delphi XE2 : DXe2InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi XE3 : DXe3Install.groupproj // VCL only, no FireMonkey components
Delphi XE3 : DXe3InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi XE4 : DXe4Install.groupproj // VCL only, no FireMonkey components
Delphi XE4 : DXe4InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi XE5 : DXe5Install.groupproj // VCL only, no FireMonkey components
Delphi XE5 : DXe5InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi XE6 : DXe6Install.groupproj // VCL only, no FireMonkey components
Delphi XE6 : DXe6InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi XE7 : DXe7Install.groupproj // VCL only, no FireMonkey components
Delphi XE7 : DXe7InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi XE8 : DXe8Install.groupproj // VCL only, no FireMonkey components
Delphi XE8 : DXe8InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi 10 Seattle : D10SInstall.groupproj // VCL only, no FireMonkey components
Delphi 10 Seattle : D10SInstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi 10.1 Berlin : D101Install.groupproj // VCL only, no FireMonkey components
Delphi 10.1 Berlin : D101InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi 10.2 Tokyo : D102Install.groupproj // VCL only, no FireMonkey components
Delphi 10.2 Tokyo : D102InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi 10.3 Rio : D103Install.groupproj // VCL only, no FireMonkey components
Delphi 10.3 Rio : D103InstallVclFmx.groupproj // Both VCL and FireMonkey components
Delphi 10.4 Sydney : D104Install.groupproj // VCL only, no FireMonkey components
Delphi 10.4 Sydney : D104InstallVclFmx.groupproj // Both VCL and FireMonkey components
C++ Builder 2006 : CB2006Install.bdsgroup
C++ Builder 2007 : CB2007Install.groupproj
C++ Builder 2009 : CB2009Install.groupproj
C++ Builder 2010 : CB2010Install.groupproj
C++ Builder XE : CBXeInstall.groupproj
C++ Builder XE2 : CBXe2Install.groupproj // VCL only no FireMonkey components
C++ Builder XE2 : CBXe2InstallVclFmx.groupproj // Both VCL and FireMonkey components
C++ Builder XE3 : CBXe3InstallVclFmx.groupproj // Both VCL and FireMonkey components
C++ Builder 10.2 Tokyo : CB102InstallVclFmx.groupproj // Both VCL and FireMonkey components
C++ Builder 10.3 Rio : CB103InstallVclFmx.groupproj // Both VCL and FireMonkey components
C++ Builder 10.4 Sydney : CB104InstallVclFmx.groupproj // Both VCL and FireMonkey components
1-执行文件/打开项目,导航到安装目录,选择正确的文件并打开它。项目管理器视图现在应显示两个程序包项目,一个运行时和一个设计时间软件包。运行时软件包名称包含“运行”后缀。设计时间软件包名称包含“设计”后缀。
2-选择并构建运行时软件包(请勿安装)。
3-选择并安装设计时间软件包。
几秒钟后,您应该有一个对话框,告诉您该软件包已在“ Overbyte ICS”和“ Overbyte ICS SSL”下的工具调色板中注册了一堆新组件。然后做一个“保存全部”和“关闭”。
4-安装了一个软件包,称为“ Delphi XXX的OverByte ICS Design Time软件包”。
5- samples delphi 下的各种目录包括说明所有ICS组件使用的样本,请参见稍后。
6-另外,最近的Delphi版本在项目管理器中具有构建组窗格,通过单击AA按钮打开。这允许单击一键构建具有多个配置和平台的多个软件包。构建后,仍需要手动安装32位设计包。
7-请注意,某些SSL项目可能需要这些(或类似)的文件添加:
"C:Program Files (x86)CodeGearRAD Studio6.0libpsdkcrypt32.lib"
"C:Program Files (x86)CodeGearRAD Studio6.0libpsdkcryptui.lib"
还可以在项目中定义Security_win32,该项目应允许OverByteicsSspi.hpp构建可以。
Firemekey跨平台包:
1-对于XE2和更高版本,DXE?install(where?wery?where版本)仅安装VCL组件,而DXE?installs installvclfmx还安装FiremonKey Cross Cross Platform组件(三个运行时间软件包)。为了使用此功能,首先卸载了旧的设计时间软件包。
2-通过在项目管理器中列出的顺序,为所有可用平台(32位和64位Windows和Mac OS X)构建所有三个运行时间软件包。
3-下一个构建并按照项目经理列出的顺序安装三个设计时间软件包。
4-安装了三个软件包,称为:
'Overbyte ICS Common Design-Time Package for Delphi xxx'
'Overbyte ICS FMX Design-Time Package for Delphi xxx'
'Overbyte ICS VCL Design-Time Package for Delphi xxx'
请注意,新包装仍然是beta/alpha,两个软件包名称和包含的单元可能会在以后的Beta下降中发生变化。旧的VCL软件包仍在那里,但是它们不再支持FireMonKey,当然,如果您只想仅使用VCL和FMX安装DXE2InstallVClfmx.grouproj,则同时只能在IDE中安装一组软件包。当前,XE2软件包缓存是错误的,应通过添加-Nocache参数来禁用。
5-另外,最近的Delphi版本在项目管理器中具有构建组窗格,通过单击AA按钮打开。这允许单击一键构建具有多个配置和平台的多个软件包。构建后,仍需要一个一个一个一个一个安装的32位设计包。
6-。 samples delphi platformDemos 文件夹包含FireMonKey示例项目,这些项目都可以使用Mac OS X(和Windows)的Firemonkey构建。
使用软件包项目文件的替代安装:
对于每个Delphi和C ++构建器版本,两个软件包项目文件都存在于。 packages目录中。一个运行时和一个设计时间软件包项目文件。运行时文件名称包含“运行”后缀。设计时文件名称包含“设计”后缀。
软件包项目文件名-VCL:
Delphi 7 : OverbyteIcsD7Run.dpk, OverbyteIcsD7Design.dpk
Delphi 2006 : OverbyteIcsD2006Run.bdsproj, OverbyteIcsD2006Design.bdsproj
Delphi 2007 : OverbyteIcsD2007Run.dproj, OverbyteIcsD2007Design.dproj
Delphi 2009 : OverbyteIcsD2009Run.dproj, OverbyteIcsD2009Design.dproj
Delphi 2010 : OverbyteIcsD2010Run.dproj, OverbyteIcsD2010Design.dproj
Delphi XE : OverbyteIcsDXeRun.dproj, OverbyteIcsDXeDesign.dproj
Delphi XE2 : OverbyteIcsDXe2Run.dproj, OverbyteIcsDXe2Design.dproj
Delphi XE3 : OverbyteIcsDXe3Run.dproj, OverbyteIcsDXe3Design.dproj
Delphi XE4 : OverbyteIcsDXe4Run.dproj, OverbyteIcsDXe4Design.dproj
Delphi XE5 : OverbyteIcsDXe5Run.dproj, OverbyteIcsDXe5Design.dproj
Delphi XE6 : OverbyteIcsDXe6Run.dproj, OverbyteIcsDXe6Design.dproj
Delphi XE7 : OverbyteIcsDXe7Run.dproj, OverbyteIcsDXe7Design.dproj
Delphi XE8 : OverbyteIcsDXe8Run.dproj, OverbyteIcsDXe8Design.dproj
Delphi 10 Seattle : OverbyteIcsD10SRun.dproj, OverbyteIcsD10SDesign.dproj
Delphi 10.1 Berlin : OverbyteIcsD101Run.dproj, OverbyteIcsD101Design.dproj
Delphi 10.2 Tokyo : OverbyteIcsD102Run.dproj, OverbyteIcsD102Design.dproj
Delphi 10.3 Rio : OverbyteIcsD103Run.dproj, OverbyteIcsD103Design.dproj
Delphi 10.4 Sydney : OverbyteIcsD104Run.dproj, OverbyteIcsD103Design.dproj
C++ Builder 2006 : OverbyteIcsCB2006Run.bdsproj, OverbyteIcsCB2006Design.bdsproj
C++ Builder 2007 : OverbyteIcsCB2007Run.cbproj, OverbyteIcsCB2007Design.cbproj
C++ Builder 2009 : OverbyteIcsCB2009Run.cbproj, OverbyteIcsCB2009Design.cbproj
C++ Builder 2010 : OverbyteIcsCB2010Run.cbproj, OverbyteIcsCB2010Design.cbproj
C++ Builder XE : OverbyteIcsCBXeRun.cbproj, OverbyteIcsCBXeDesign.cbproj
C++ Builder XE2 : OverbyteIcsCBXe2Run.cbproj, OverbyteIcsCBXe2Design.cbproj
C++ Builder XE3 : OverbyteIcsCBXe3Run.cbproj, OverbyteIcsCBXe3Design.cbproj
软件包项目文件名-FireMonKey和VCL:
Delphi XE2 FMX/VCL : IcsCommonDXe2Run.dproj, IcsCommonDXe2Design.dproj
Delphi XE2 VCL : IcsVclDXe2Run.dproj, IcsVclDXe2Design.dproj
Delphi XE2 FMX : IcsFmxDXe2Run.dproj, IcsFmxDXe2Design.dproj
Delphi XE3 FMX/VCL : IcsCommonDXe3Run.dproj, IcsCommonDXe3Design.dproj
Delphi XE3 VCL : IcsVclDXe3Run.dproj, IcsVclDXe3Design.dproj
Delphi XE3 FMX : IcsFmxDXe3Run.dproj, IcsFmxDXe3Design.dproj
Delphi XE4 FMX/VCL : IcsCommonDXe4Run.dproj, IcsCommonDXe4Design.dproj
Delphi XE4 VCL : IcsVclDXe4Run.dproj, IcsVclDXe4Design.dproj
Delphi XE4 FMX : IcsFmxDXe4Run.dproj, IcsFmxDXe4Design.dproj
Delphi XE5 FMX/VCL : IcsCommonDXe5Run.dproj, IcsCommonDXe5Design.dproj
Delphi XE5 VCL : IcsVclDXe5Run.dproj, IcsVclDXe5Design.dproj
Delphi XE5 FMX : IcsFmxDXe5Run.dproj, IcsFmxDXe5Design.dproj
Delphi XE6 FMX/VCL : IcsCommonDXe6Run.dproj, IcsCommonDXe6Design.dproj
Delphi XE6 VCL : IcsVclDXe6Run.dproj, IcsVclDXe6Design.dproj
Delphi XE6 FMX : IcsFmxDXe6Run.dproj, IcsFmxDXe6Design.dproj
Delphi XE7 FMX/VCL : IcsCommonDXe7Run.dproj, IcsCommonDXe7Design.dproj
Delphi XE7 VCL : IcsVclDXe7Run.dproj, IcsVclDXe7Design.dproj
Delphi XE7 FMX : IcsFmxDXe7Run.dproj, IcsFmxDXe7Design.dproj
Delphi XE8 FMX/VCL : IcsCommonDXe8Run.dproj, IcsCommonDXe8Design.dproj
Delphi XE8 VCL : IcsVclDXe8Run.dproj, IcsVclDXe8Design.dproj
Delphi XE8 FMX : IcsFmxDXe8Run.dproj, IcsFmxDXe8Design.dproj
Delphi 10 Seattle FMX/VCL : IcsCommonD10SRun.dproj, IcsCommonD10SDesign.dproj
Delphi 10 Seattle VCL : IcsVclD10SRun.dproj, IcsVclD10SDesign.dproj
Delphi 10 Seattle FMX : IcsFmxD10SRun.dproj, IcsFmxD10SDesign.dproj
Delphi 10.1 Berlin FMX/VCL : IcsCommonD101Run.dproj, IcsCommonD101Design.dproj
Delphi 10.1 Berlin VCL : IcsVclD101Run.dproj, IcsVclD101Design.dproj
Delphi 10.1 Berlin FMX : IcsFmxD101Run.dproj, IcsFmxD101Design.dproj
Delphi 10.2 Tokyo FMX/VCL : IcsCommonD102Run.dproj, IcsCommonD102Design.dproj
Delphi 10.2 Tokyo VCL : IcsVclD102Run.dproj, IcsVclD102Design.dproj
Delphi 10.2 Tokyo FMX : IcsFmxD102Run.dproj, IcsFmxD102Design.dproj
Delphi 10.3 Rio FMX/VCL : IcsCommonD103Run.dproj, IcsCommonD103Design.dproj
Delphi 10.3 Rio VCL : IcsVclD103Run.dproj, IcsVclD103Design.dproj
Delphi 10.3 Rio FMX : IcsFmxD103Run.dproj, IcsFmxD103Design.dproj
Delphi 10.4 Sydney FMX/VCL : IcsCommonD104Run.dproj, IcsCommonD104Design.dproj
Delphi 10.4 Sydney VCL : IcsVclD104Run.dproj, IcsVclD104Design.dproj
Delphi 10.4 Sydney FMX : IcsFmxD104Run.dproj, IcsFmxD104Design.dproj
C++ Builder XE2 FMX/VCL : IcsCommonCBXe2Run.dproj, IcsCommonDXe2Design.dproj
C++ Builder XE2 VCL : IcsVclCBXe2Run.dproj, IcsVclCBXe2Design.dproj
C++ Builder XE2 FMX : IcsFmxCBXe2Run.dproj, IcsFmxCBXe2Design.dproj
C++ Builder XE3 FMX/VCL : IcsCommonCBXe3Run.dproj, IcsCommonDXe3Design.dproj
C++ Builder XE3 VCL : IcsVclCBXe3Run.dproj, IcsVclCBXe3Design.dproj
C++ Builder XE3 FMX : IcsFmxCBXe3Run.dproj, IcsFmxCBXe3Design.dproj
C++ Builder 10.2 Tokyo VCL : IcsVclCB102Run.dproj, IcsVclCB102Design.dproj
C++ Builder 10.2 Tokyo FMX : IcsFmxCB102Run.dproj, IcsFmxCB102Design.dproj
C++ Builder 10.3 Rio VCL : IcsVclCB103Run.dproj, IcsVclCB103Design.dproj
C++ Builder 10.3 Rio FMX : IcsFmxCB103Run.dproj, IcsFmxCB103Design.dproj
C++ Builder 10.4 Sydney VCL: IcsVclCB104Run.dproj, IcsVclCB104Design.dproj
C++ Builder 10.4 Sydney FMX: IcsFmxCB104Run.dproj, IcsFmxCB104Design.dproj
1-打开并构建运行时软件包项目(请勿安装!)。
2-打开并安装Design -time软件包项目。 (执行文件/打开项目,浏览到。 packages目录。选择正确的文件并打开。然后在项目管理器视图中,右键单击软件包,然后单击“构建”或“安装”按钮。)
3-对于Delphi XE2及以后,可以通过将包装目标平台更改为64位Windows来构建64位运行时包。这具有与32位软件包相同的名称,因此需要在64位Windows的工具 /选项 / Delphi选项中指定不同的软件包输出目录。
几秒钟后,您应该有一个对话框,告诉您该软件包已在“ Overbyte ICS”和“ Overbyte ICS SSL”下的工具调色板中注册了一堆新组件。然后做一个“保存全部”和“关闭”。
Delphi 2006/Win32,2007/Win32,2009/Win32,2010/Win32,XE/Win32:
安装了软件包后,请验证是否添加了适当的Win32库路径(工具 /选项 / Delphi选项 /库-Win32 / Library Path),根据版本,IE。在全局delphi路径中添加并不是强制性的,但是对您来说会容易得多,因为否则您必须将其添加到每个项目中。
Delphi XE2/Win32,XE3/Win32,Xe4/Win32,Xe5/Win32,Xe6/Win32,Xe7/Win32,Xe8/Win32,10 Seattle/Win32,10.1 Berlin/win32,10.2 Tokyo/Win32,10.3 Rio/Win32,10.3 Rio/win32,win32,104 Sy64,x.4 sy64,x。 XE3/Win64,XE4/Win64,Xe5/Win64,Xe6/Win64,Xe7/Win64,Xe8/Win64,10 Seattle/Win64,10.1 Berlin/Win64,10.2 Tokyo/Win64,10.3 Rio/Win64,10.3
类似于上述,但现在还有一个额外的级别,因此工具 /选项 /语言 / delphi / library / select平台作为Windows 32位或64位,或MacOS 32位或64位。注意,为32位和64位平台分别指定了库路径。当心Delphi似乎默认为64位平台,在设置库路径之前,需要将其更改为32位Plaform,。
Delphi 7:将VC32目录路径添加到您的库路径(工具菜单 /环境选项 /库 /库路径。
样本Delphi项目
安装软件包后,您可以打开示例项目。根据协议,大约有95个样本分为几个目录,一个项目组可以在所有版本的Delphi中打开。
.SamplesdelphiAllDemosProject.bpg
.SamplesdelphiBroswerDemo
.SamplesdelphiFtpDemosFtpDemos.bpg
.SamplesdelphiMailNewsDemosMailNewsDemos.bpg
.SamplesdelphiMiscDemosMiscDemos.bpg
.SamplesdelphiOtherDemosOtherDemos.bpg
.SamplesdelphiPlatformDemosXSamples.groupproj
.SamplesdelphiSocketDemosSocketDemos.bpg
.SamplesdelphisslinternetSslDemos.bpg
.SamplesdelphiWebDemosWebDemos.bpg
本文档后面显示了各个示例项目的完整详细信息。
Alldemosproject.bpg包含除了BrowserDemo(需要安装第三方组件)以外的所有94个样本。但是,在同一情况下构建所有样本需要大量的内存,直到Delphi 10西雅图及以后才能改善内存管理。 Delphi的早期版本将互相编译。
您可能会收到一些对话框,告诉您资源文件丢失(它们可能未包含在zip文件中以节省空间),并且由Delphi重新创建。没关系。任何其他错误消息都是您应该解决的问题。重新创建所有资源文件后,您应该在项目经理中看到一组项目。
要立即编译小组中的所有样本,请进行项目 /构建所有项目。这可能需要几分钟。
注意,Delphi有警告,可触发许多消息的大量消息。您可以在项目 /选项 /编译器消息中关闭这些警告,并取消选择:“未倒闭的符号”,“平台符号”,“不安全类型”,“不安全的代码”,“不安全的Typecast”。这些旨在用于.NET和Linux便携性。如果运行窗口,您可以安全地忽略它们。对于您的设施,我在Internet目录中包括了一个实用程序SetProjectOptions(源代码,必须编译)。该实用程序将更新项目选项以禁用警告。
一旦安装了组件,您可以将每个示例项目彼此隔开并进行编译。对于每个项目,请进行文件/打开,然后在Internet目录中选择DPR文件。然后项目/构建全部。
C ++建造者2006,2007,2009,2010,XE,XE2,XE3,10.2东京,10.3 Rio,10.4悉尼:
遵循Delphi 2006所述的安装过程。只需更改项目组和软件包名称:使用CB2006,CBXE等,请参见上文。您不能在IDE同时安装Delphi 2006和CBuilder 2006软件包。因此,当从一个切换到另一个时,请确保删除不需要的一个。
Embarcadero安装将其添加到系统路径:
C: users public documents embarcadero studio 20.0 bpl
但是,这不允许安装WIN32软件包,要执行此操作,您需要将此路径添加到系统路径(Win10 = start,编辑系统环境变量,环境变量,系统变量,系统变量,路径,编辑,编辑,新:)
C: users public documents embarcadero studio 20.0 bpl win32
需要使用IC的新项目:
包括路径:
库路径
为OSX构建FiReMonKey CBXE2INSTALLVCLFMX C ++软件包可能会触发ILINK32错误,这是C ++构建器中报道为QC#103668中的错误。
一旦安装了组件,您可以将每个示例项目彼此隔开并进行编译。对于每个项目,请进行文件/打开,然后在Internet目录中选择DPR文件。然后项目/构建全部。项目位于样品中 CPP Internet CB2006 (或CB2006,CBXE等),每个目录中的一个项目组,OverByTeicsCB2006SAM.BDSGROUP,OverByteicsCBXE2SAM.GROUPPROJ等。对于每个Project,C+ builder builder cropperder croppers comprops confiles consec.groupproj等可能是一个缺失的。这不是问题,C ++建造者将根据需要重新创建它。它们尚未包括在邮政编码中保存空间。
一旦安装了组件,您可以将每个示例项目彼此隔开并进行编译。对于每个项目,请进行文件/打开,然后在Internet目录中选择DPR文件。然后项目/构建全部。
笔记:
您可能会使用Delphi或C ++构建器抱怨Font.Charset,OldCreateOrder和其他属性的错误消息。这些是较新的Delphi或C ++构建器版本中的新属性,比您使用的版本更新。您可以安全地忽略这些错误,因为组件或示例程序未使用这些属性。您可能会在运行时遇到此错误。为了避免它,您必须在设计时间打开每个表格并忽略错误。然后重新编译。如果您在设计时不忽略错误,那么您将在运行时遇到它!
如果您的Delphi或C ++建筑商抱怨找不到文件,请在库路径中添加。 source目录。
如果您使用的是C ++构建器,则可能会在链接时间遇到错误,例如“无法打开文件mwbcb30.lib”(或其他libs)。这是C ++构建器中的一个错误。要解决它,您可以编辑项目选项文件(右键单击项目管理器),然后删除对丢失库的任何引用。
不要忘记,C ++构建器组件位于。 C ++构建器将创建 *.HPP文件。 VC32目录中有一些在线帮助文件。
以下是应安装的文件列表,以正确添加此集合中的所有可用组件:
> OverbyteIcsCharsetComboBox.pas Provides easy MIME charset selection
> OverbyteIcsDnsQuery DNS lookup component - useful for getting MX records
> OverbyteIcsDprUpdFix.pas IDE plugin for Delphi 2009 and 2010 to update old projects
> OverbyteIcsEmulVT.pas ANSI terminal emulation in a control
> OverbyteIcsFileCopy.pas Indexing, copying and deleting of multiple file directories
> OverbyteIcsFileCopyW.pas Same as OverbyteIcsFileCopy but Unicode for Delphi 2007.
> OverbyteIcsFingCli.pas FINGER client protocol - Find information about user
> OverbyteIcsFtpCli.pas FTP client protocol - file transfer
> OverbyteIcsFtpCliW.pas Same as OverbyteIcsFtpCli but Unicode for Delphi 2007.
> OverbyteIcsFtpMulti.pas FTP client that indexes, uploads or downloads multiple files
> OverbyteIcsFtpMultiW.pas Same as OverbyteIcsFtpMulti but Unicode for Delphi 2007.
> OverbyteIcsFtpSrv.pas FTP server protocol - file transfer
> OverbyteIcsFtpSrvT.pas FTP server protocol - helpers
> OverbyteIcsFtpSrvW.pas Same as OverbyteIcsFtpSrvW but Unicode for Delphi 2007.
> OverbyteIcsHttpAppServer.pas HTTP server protocol - used to build advanced web servers
> OverbyteIcsHttpMulti.pas HTTP client that downloads multiple files from a list or by parsing web links
> OverbyteIcsHttpMultiW.pas Same as OverbyteIcsHttpMulti but Unicode for Delphi 2007.
> OverbyteIcsHttpProt.pas HTTP client protocol - used by the web
> OverbyteIcsHttpSrv.pas HTTP server protocol - used to build web servers
> OverbyteIcsIpStreamLog.pas IP stream logging, using TCP Client or Server, UDP Client or Server, sends simple text
> OverbyteIcsLogger.pas A component to log information
> OverbyteIcsMailQueue.pas SMTP Mail Queue with extended retries, multiple SMTP servers or MX look up
> OverbyteIcsMimeDec.pas MIME component - decode file attach, use with POP3
> OverbyteIcsMultiProgressBar.pas A segmented progress bar
> OverbyteIcsMultipartFtpDownloader.pas FTP client protocol - download one file using simultaneous connections to speedup download
> OverbyteIcsMultipartHttpDownloader.pas HTTP client protocol - download one file using simultaneous connections to speedup download
> OverbyteIcsNntpCli.pas NNTP client protocol - send and receive newsgroups messages
> OverbyteIcsPing.pas ICMP echo protocol - ping a host
> OverbyteIcsPop3Prot.pas POP3 client protocol - get mail from mail server
> OverbyteIcsProxy.pas Proxy server protocol - HTTP forward and reverse proxy, and others
> OverbyteIcsReg.pas Register design components
> OverbyteIcsSmtpProt.pas SMTP client protocol - send mail to server
> OverbyteIcsSmtpSrv.pas SMTP server protocol - receive mail from client
> OverbyteIcsSnmpCli.pas SNMP client protocol - network management
> OverbyteIcsSnmpMsgs.pas SNMP client protocol - message helper
> OverbyteIcsSntp.pas Time server and client supporting SNTP time protocol
> OverbyteIcsSslHttpRest.pas HTTPS REST functions, descends from THttpCli, includes OAuth2, Send SMS and DNS over HTTPS
> OverbyteIcsSysLogClient.pas Syslog Client Protocol - receive syslog messages
> OverbyteIcsSysLogDefs.pas Syslog Protocol - helpers
> OverbyteIcsSysLogServer.pas Syslog Server Protocol - send syslog messages
> OverbyteIcsTnCnx.pas TELNET client protocol - terminal emulation protocol
> OverbyteIcsTnEmulVT.pas TELNET and ANSI terminal emulation combined
> OverbyteIcsTnOptFrm.pas TELNET Client configuration form
> OverbyteIcsTnScript.pas TELNET client protocol - with automation
> OverbyteIcsWebSockets.pas WebSockets Server protocol
> OverbyteIcsWSocket.pas Winsock component - TCP, UDP, DNS,...
> OverbyteIcsWSocketE.pas Register procedure and property editor for TWSocket
> OverbyteIcsWSocketS.pas Winsock component for building servers
> OverbyteIcsWSocketTS.pas Winsock component for building multithreaded servers
> OverbyteIcsWhoisCli.pas Whois protocol client
以下列表支持和公用事业部门:
> OverbyteIcsAsn1Utils.pas ASN1 utilities (for TSnmpClient component)
> OverbyteIcsAvlTrees.pas Implements a fast cache-like data storage
> OverbyteIcsBlacklist.pas Blacklisting of malicious IP addresses, logging functions
> OverbyteIcsCRC.pas 32 bit CRC computation
> OverbyteIcsCharsetUtils.pas MIME-charset functions
> OverbyteIcsCookies.pas Client Cookie Handling
> OverbyteIcsCsc.pas character set routines
> OverbyteIcsDES.pas Implementation of the Data Encryption Standard (DES)
> OverbyteIcsDigestAuth.pas HTTP Digest Access Authentication
> OverbyteIcsFormDataDecoder.pas Decode a MIME data block as generated by a HTML form
> OverbyteIcsFtpSrvWT.pas Same as OverbyteIcsFtpSrvWT but Unicode for Delphi 2007.
> OverbyteIcsHtmlPars.pas HTML web page parser
> OverbyteIcsHttpCCodZLib.pas Supports GZIP coding for HttpContCod
> OverbyteIcsHttpContCod.pas HTTP Content Coding support, uses extra units
> OverbyteIcsIcmp.pas ICMP protocol support, used by the PING component
> OverbyteIcsIconv.pas Headers for iconv library (LGPL)
> OverbyteIcsLIBEAY.pas Delphi encapsulation for libeay32.dll and libcrypto-1_1.dll (OpenSSL)
> OverbyteIcsMD4.pas Implementation of the MD4 Message-Digest Algorithm
> OverbyteIcsMD5.pas Implementation of the MD5 Message-Digest Algorithm
> OverbyteIcsMLang.pas A few header translations from MS mlang.h
> OverbyteIcsMimeUtil.pas Support routines for MIME standard
> OverbyteIcsNtlmMsgs.pas Client NTLM authentification messages used within HTTP protocol
> OverbyteIcsNtlmSsp.pas Server NTLM authentification of user credentials using Windows SSPI
> OverbyteIcsOneTimePw.pas One Time Password support functions, used by FTP
> OverbyteIcsSHA1.pas Implementation of US Secure Hash Algorithm 1 (SHA1)
> OverbyteIcsSSLEAY.pas Delphi encapsulation for ssleay32.dll and libssl-1_1.dll (OpenSSL)
> OverbyteIcsSocketUtils.pas Cross platform socket utilities for ICS
> OverbyteIcsSslJose.pas JOSE - Json Object Signing and Encryption
> OverbyteIcsSslSessionCache.pas A very fast external SSL-session-cache component
> OverbyteIcsSslThrdLock.pas Implementation of OpenSsl thread locking (Windows);
> OverbyteIcsSslX509Certs.pas Automatically download SSL X509 certificates from Let's Encrypt and CertCentre AG
> OverbyteIcsSslX509Utils.pas SSL key and X509 certification creation
> OverbyteIcsSspi.pas A few header translations from MS sspi.h and security.h
> OverbyteIcsStreams.pas Fast streams for ICS
> OverbyteIcsThreadTimer.pas A custom timer class using custom timer messages from one or more threads
> OverbyteIcsTicks64.pas GetTickCount64 support for all versions of Windows
> OverbyteIcsTimeList.pas List of items with expiry times, used for WebSessions
> OverbyteIcsTypes.pas Common types, mainly for backward compiler compatibility
> OverbyteIcsURL.pas Support routines for URL handling
> OverbyteIcsUtils.pas Vast number of common utilities, many supporting Unicode for D7/2007
> OverbyteIcsWSockBuf.pas FIFO buffers for TWSocket
> OverbyteIcsWebSession.pas Web session support for THttpAppSrv and MidWare
> OverbyteIcsWinnls.pas A few header translations for Unicode Normalization in winnls.h
> OverbyteIcsWinsock.pas Some Winsock initialisations
> OverbyteIcsWMI.pas WMI support functions, setting IP addresses, controlling DNS server.
> OverbyteIcsWndControl.pas A class that encapsulates a windows message queue and a message map
> OverbyteIcsZLibDll.pas Zlib support, interface to external zlib.dll functions
> OverbyteIcsZLibObj.pas Zlib support, interface to zlib linked C OBJ functions
> OverbyteIcsZlibHigh.pas Zlib support, high level interface for compression and decompression
> WbemScripting_TLB.pas WMI API headers.
对于Delphi和C ++构建器XE2以及后来,FireMonkey桌面应用程序是VCL Forms应用程序的替代方法,支持Windows 32位和64位和64位和Mac OS X的跨平台(将来以及其他平台)。 FireMonkey使用不同的视觉组件来进行VCL,而某些非视觉组件可以用于VCL和FMX项目,而其他组件则需要特殊版本,例如ICS。
V8的早期Beta使用条件定义“ FMX”,该项目在项目选项中不再需要 *。而是在您现有的ICS FireMonkey应用中。在项目选项中的单元范围名称中添加“ ICS.FMX”,或在使用条款中应用以下更改,重命名:
OverbyteIcsBlacklist -> Ics.Fmx.OverbyteIcsBlacklist.pas
OverbyteIcsCharsetComboBox -> Ics.Fmx.OverbyteIcsCharsetComboBox.pas
OverbyteIcsDnsQuery -> Ics.Fmx.OverbyteIcsDnsQuery.pas
OverbyteIcsFileCopy -> Ics.Fmx.OverbyteIcsFileCopy.pas
OverbyteIcsFingCli -> Ics.Fmx.OverbyteIcsFingCli.pas
OverbyteIcsFtpCli -> Ics.Fmx.OverbyteIcsFtpCli
OverbyteIcsFtpMulti -> Ics.Fmx.OverbyteIcsFtpMulti.pas
OverbyteIcsFtpSrv -> Ics.Fmx.OverbyteIcsFtpSrv
OverbyteIcsHttpAppServer -> Ics.Fmx.OverbyteIcsHttpAppServer.pas
OverbyteIcsHttpMulti -> Ics.Fmx.OverbyteIcsHttpMulti.pas
OverbyteIcsHttpProt -> Ics.Fmx.OverbyteIcsHttpProt
OverbyteIcsHttpSrv -> Ics.Fmx.OverbyteIcsHttpSrv.pas
OverbyteIcsIcmp -> Ics.Fmx.OverbyteIcsIcmp.pas
OverbyteIcsIpStreamLog -> Ics.Fmx.OverbyteIcsIpStreamLog.pas
OverbyteIcsMailQueue -> Ics.Fmx.OverbyteIcsMailQueue.pas
OverbyteIcsMsSslUtils -> Ics.Fmx.OverbyteIcsMsSslUtils.pas
OverbyteIcsMultipartFtpDownloader -> Ics.Fmx.OverbyteIcsMultipartFtpDownloader.pas
OverbyteIcsMultipartHttpDownloader -> Ics.Fmx.OverbyteIcsMultipartHttpDownloader.pas
OverbyteIcsNntpCli -> Ics.Fmx.OverbyteIcsNntpCli.pas
OverbyteIcsPing -> Ics.Fmx.OverbyteIcsPing.pas
OverbyteIcsPop3Prot -> Ics.Fmx.OverbyteIcsPop3Prot.pas
OverbyteIcsProxy -> Ics.Fmx.OverbyteIcsProxy.pas
OverbyteIcsSmtpProt -> Ics.Fmx.OverbyteIcsSmtpProt.pas
OverbyteIcsSntp -> Ics.Fmx.OverbyteIcsSntp.pas
OverbyteIcsSocketUtils -> Ics.Fmx.OverbyteIcsSocketUtils.pas
OverbyteIcsSslHttpRest -> Ics.Fmx.OverbyteIcsSslHttpRest.pas
OverbyteIcsSslJose -> Ics.Fmx.OverbyteIcsSslJose.pas
OverbyteIcsSslSessionCache -> Ics.Fmx.OverbyteIcsSslSessionCache.pas
OverbyteIcsSslThrdLock -> Ics.Fmx.OverbyteIcsSslThrdLock.pas
OverbyteIcsSslX509Certs -> Ics.Fmx.OverbyteIcsSslX509Certs.pas
OverbyteIcsSslX509Utils -> Ics.Fmx.OverbyteIcsSslX509Utils.pas
OverbyteIcsThreadTimer -> Ics.Fmx.OverbyteIcsThreadTimer.pas
OverbyteIcsWSocket -> Ics.Fmx.OverbyteIcsWSocket
OverbyteIcsWSocketS -> Ics.Fmx.OverbyteIcsWSocketS
OverbyteIcsWhoisCli -> Ics.Fmx.OverbyteIcsWhoisCli.pas
OverbyteIcsWndControl -> Ics.Fmx.OverbyteIcsWndControl
{ Demo units }
OverbyteIcsWebAppServerCounter -> Ics.Fmx.OverbyteIcsWebAppServerCounter
OverbyteIcsWebAppServerMailer -> Ics.Fmx.OverbyteIcsWebAppServerMailer
上面的列表也是现在在FiremonKey框架中具有不同名称的单元列表,但是其中大多数共享同一源文件。
将ICS组件放在表单上会自动为每个框架添加正确的单位名称(不要忘记禁用包装缓存如上所述)。
unit voldeicsLibrary.pas已弃用,ICS IPv8不再使用它。如果您在自己的代码中使用了它,请在OverByteicsLibrary.pas中阅读注释,请搜索“弃用”。
使用V8,现在根据一般功能将96个示例应用程序分组为目录,以使比较相关示例更容易。
许多样本相似。搜索某些东西时,请务必查看创建的演示日期。最新的始终是最好的代码!在下面的列表中,活动!指示积极维护的应用程序,以测试和支持ICS组件中的新功能。这些可能不是最简单的样本,但通常是学习组件时第一次尝试的样本。
.SamplesdelphiBroswerDemo
> FrameBrowserIcs.dpr Web Browser using HtmlViewer component - ACTIVE!!
请注意,此示例需要安装HTMLViewer组件
.SamplesdelphiFtpDemosFtpDemos.bpg - Project group
> OverbyteIcsBasFtp.dpr Basic FTP client program
> OverbyteIcsConFtp.dpr Basic console mode FTP client
> OverbyteIcsFtpAsy.dpr Example of asynchronous FTP client
> OverbyteIcsFtpMulti.dpr Demo to do several FTP downloads in parallel to get a list of files
> OverbyteIcsFtpMultipartDownload.dpr Demo to FTP download a single large file in several parts in parallel
> OverbyteIcsFtpServ.dpr General purpose FTP server, uses TSocketServer - ACTIVE!!
> OverbyteIcsFtpThrd.dpr Demo of multithreaded FTP client, see also FTPASY
> OverbyteIcsFtpTst.dpr Basic graphical FTP client - ACTIVE!!
请注意,启用了SSL的SSLINTERTERT下的更好样本。
.SamplesdelphiMailNewsDemosMailNewsDemos.bpg - Project group
> OverbyteIcsBasNntp.dpr Basic NNTP client program
> OverbyteIcsConPop3.dpr Basic console mode demo for POP3 (mail receive)
> OverbyteIcsConSmtp.dpr Basic console mode demo for SMTP (mail send)
> OverbyteIcsMailHtml.dpr Example of HTML formatted EMail sending, including embedded images - ACTIVE!!
> OverbyteIcsMailRcv.dpr Internet EMail access using POP3 protocol - ACTIVE!!
> OverbyteIcsMailSnd.dpr Example of EMail sending using SMTP, including file attach - ACTIVE!!
> OverbyteIcsMailSndAsync.dpr Example of parallel EMail sending with multiple connections
> OverbyteIcsMimeDemo.dpr Example of EMail decoding (attached files are extracted) - ACTIVE!!
> OverbyteIcsNewsReader.dpr Example of TNntpCli component (Send/receive newsgroups) - ACTIVE!!
> OverbyteIcsSmtpServer.dpr Internet EMail server using SMTP protocol - ACTIVE!!
请注意,启用了SSL的SSLINTERTERT下的更好样本。
.SamplesdelphiMiscDemosMiscDemos.bpg - Project group
> OverbyteIcsBufStrmTst.dpr Test of buffered stream classes
> OverbyteIcsCacheTest.dpr Test of TCacheTree class used in TSslAvlSessionCache
> OverbyteIcsMD4Test.dpr Test program for MD4 unit
> OverbyteIcsMD5File.dpr Example of MD5 unit: computer MD5 checksum for files
> OverbyteIcsMD5Test.dpr Test program for MD5 unit
> OverbyteIcsOneTimePassword.dpr One Time Password test routines for OverByteIcsOneTimePw unit
> OverbyteIcsSHA1Test.dpr Test program for SHA unit
> OverbyteIcsThreadTimerDemo.dpr Demo for TIcsThreadTimer
> OverbyteIcsTicks64Demo.dpr GetTickCount64 test routines for OverbyteIcsTicks64 unit
> OverbyteIcsTimerDemo.dpr Very simple demo for TIcsTimer
> OverByteIcsWndControlTest.dpr Test program for windows and threads
.SamplesdelphiOtherDemosOtherDemos.bpg - Project group
> OverbyteIcsBatchDnsLookup.dpr Batch async DNS lookup using DnsLookup (IPv6 and IPv4)
> OverbyteIcsConPing.dpr Basic console mode demo for ping component
> OverbyteIcsDll1.dpr Demo showing how to use a TWSocket component in a DLL
> OverbyteIcsDll2.dpr Demo showing how to use a THttpCli component in a DLL
> OverbyteIcsDllTst.dpr Test program calling ICSDLL1 and ICSDLL2
> OverbyteIcsDnsLook.dpr Example of name resolution (IPv6 and IPv4)
> OverbyteIcsDnsResolver.dpr Batch async DNS lookup event driven using DnsQuery
> OverbyteIcsFinger.dpr Example of TFingerCli component
> OverbyteIcsNsLookup.dpr Demo for the DnsQuery component - ACTIVE!!
> OverbyteIcsPingTst.dpr Demo for the ping component, includes trace route - ACTIVE!!
> OverbyteIcsSnmpCliTst.dpr Demo for SNMP (simple network management protocol) component
> OverbyteIcsSysLogClientDemo.dpr Demo for SysLog client component
> OverbyteIcsSysLogServerDemo.dpr Demo for SysLog server component
> OverbyteIcsTimeTst.dpr Test SNTP time protocol as client or server - ACTIVE!!
> OverbyteIcsWhoisCliTst.dpr Test Whois protocol, looks up servers automatically - ACTIVE!!
> OverbyteIcsWmiTst.dpr Test WMI functions, general purpose, IP addressses and DNS Server - ACTIVE!!
所有这些样本都可以用于Mac OS X(和Windows)。
.SamplesdelphiPlatformDemosXSamples.groupproj
> IcsCliDemo.dproj Example of client for SRVDEMO, IPV4 only
> IcsTcpSrvIPv6.dproj Basic server without client forms, event-driven, IPv4/IPV6
> IcsConSmtp.dproj Basic console mode demo for SMTP (mail send)
> IcsMailSnd.dproj Example of EMail sending using SMTP, including file attach
> IcsMailRcv.dproj Internet EMail access using POP3 protocol
> IcsHttpsTst.dproj Example of THttpCli component (GET), show many features
> IcsWebServ.dproj Demo of HTTP server, uses TSocketServer
> IcsWebAppServ.dproj Advanced HTTP server demo, uses WebServ, adds sessions
> IcsFtpTst.dproj Basic graphical FTP client
> IcsFtpServ.dproj General purpose FTP server, uses TSocketServer
> IcsUdpLstn.dproj UDP listen demo
> IcsUdpSend.dproj UDP send demo
> IcsBatchDnsLookup.dproj Batch async DNS lookup using DnsLookup (IPv6 and IPv4)
> IcsDll1.dproj Demo showing how to use a TWSocket component in a DLL
> IcsDll2.dproj Demo showing how to use a THttpCli component in a DLL
> IcsDllTst.dproj Test program calling ICSDLL1 and ICSDLL2
> IcsThreadTimerDemo.dproj Very simple demo for TIcsTimer
.SamplesdelphiSocketDemosSocketDemos.bpg - Project group
> OverbyteIcsBinCliDemo.dpr Client program to receive binary and delimited text data. Works with OverbyteIcsTcpSrv demo.
> OverbyteIcsCliDemo.dpr Example of client for SRVDEMO, IPV4 only - ACTIVE!!
> OverbyteIcsClient5.dpr Basic client GUI applications
> OverbyteIcsClient7.dpr Simple client application demonstrating TWSocket
> OverbyteIcsConCli1.dpr Basic client/server console applications
> OverbyteIcsConCli2.dpr Basic client/server console applications with thread
> OverbyteIcsConSrv1.dpr Basic server application in console mode
> OverbyteIcsConUdpLstn.dpr Console application to listen for UDP messages
> OverbyteIcsDynCli.dpr Demo of dynamically created TWSocket components
> OverbyteIcsMtSrv.dpr Basic server, multi-threaded, see THRDSRV for better code
> OverbyteIcsRecv.dpr Simple file receive (server), use with SENDER demo (client)
> OverbyteIcsSender.dpr Simple file send (client), use with RECV demo (server)
> OverbyteIcsServer5.dpr Basic server GUI applications
> OverbyteIcsSocksTst.dpr How to use TWSocket with SOCKS protocol (firewall traversing)
> OverbyteIcsSrvDemo.dpr Example of server using a TTable - ACTIVE!!
> OverbyteIcsSrvTcp.dpr Basic server without client forms, event-driven
> OverbyteIcsSvcTcp.dpr Same as SRVTCP but as an NT/2K/XP service
> OverbyteIcsTWSChat.dpr Chat program (both client and server in a single program)
> OverbyteIcsTcpSrv.dpr Basic server without client forms, event-driven, IPv4 only - ACTIVE!!
> OverbyteIcsTcpSrvIPv6.dpr Basic server without client forms, event-driven, IPv4/IPV6 - ACTIVE!!
> OverbyteIcsTelnetClient.dpr Telnet client using a TnEmulVT
> OverbyteIcsThrdSrv.dpr Basic multithreaded TCP server, banner sent in main thread
> OverbyteIcsThrdSrvV2.dpr Basic multithreaded TCP server, banner sent in worker thread
> OverbyteIcsThrdSrvV3.dpr Basic TCP server showing how to use TWSocketThrdServer
> OverbyteIcsTnDemo.dpr Telnet client using a TMemo
> OverbyteIcsTnSrv.dpr Basic TCP server with client forms, event-driven
> OverbyteIcsUdpLstn.dpr UDP listen demo
> OverbyteIcsUdpSend.dpr UDP send demo
请注意,启用了SSL的SSLINTERTERT下的更好样本。
.SamplesdelphisslinternetSslDemos.bpg - Project group
> OverbyteIcsHttpRestTst.dpr ICS HTTPS REST and OAuth, Send SMS and DNS over HTTPS functions demo - ACTIVE!!.
> OverbyteIcsHttpsTst.dpr Example of TSslHttpCli component (GET) - ACTIVE!!
> OverbyteIcsIpStmLogTst.dpr Test IP stream logging, sending streams as client or server using SSL - ACTIVE!!
> OverbyteIcsJoseTst.dpr ICS SSL Json Object Signing (Jose) Demos - ACTIVE!!
> OverbyteIcsMailQuTst.dpr Simple mailing list tool using Mail Queue using SSL - ACTIVE!!
> OverbyteIcsMsVerify.dpr Verify and show an OpenSSL certificate or certificate chain using
class TMsCertChainEngine which uses MS crypto API - ACTIVE!!
> OverbyteIcsPemTool.dpr ICS Pem Certificate Tool - Create and import certificates in many formats - ACTIVE!!
> OverbyteIcsProxySslServer.dpr ICS Proxy server - ACTIVE!!
> OverbyteIcsSimpleSslCli.dpr Example of simple SSL client using TSslWSocket - ACTIVE!!
> OverbyteIcsSimpleSslServer.dpr Example of SSL server using TSslWSocket - ACTIVE!!
> OverbyteIcsSslFtpServ.dpr General purpose FTP SSL server, uses TSocketServer - ACTIVE!!
> OverbyteIcsSslFtpTst.dpr Basic graphical FTP SSL client - ACTIVE!!
> OverbyteIcsSslMailRcv.dpr Internet EMail access using POP3 protocol and SSL - ACTIVE!!
> OverbyteIcsSslMailSnd.dpr Example of EMail sending using SMTP and SSL - ACTIVE!!
> OverbyteIcsSslMultiWebServ.dpr Advanced multi host web server demo - ACTIVE!!
> OverbyteIcsSslNewsRdr.dpr Example of TSslNntpCli component (Send/receive newsgroups) - ACTIVE!!
> OverbyteIcsSslSmtpServer.dpr Internet EMail server using SMTP protocol and SSL - ACTIVE!!
> OverbyteIcsSslSniSrv.dpr Test of Server Name Indication (SNI) in server mode - ACTIVE!!
> OverbyteIcsSslWebAppServer.dpr Advanced HTTPS server demo, uses WebServ, adds sessions - ACTIVE!!
> OverbyteIcsSslWebServ.dpr Demo of HTTPS server, uses TSocketServer - ACTIVE!!
> OverbyteIcsWebSocketSrv.dpr Demo of WebSockets server, used with websocketclient.html - ACTIVE!!
> websocketclient.html Web page for WebSockets demo
> OverbyteIcsX509CertsTst.dpr Automatically download SSL X509 certificates from Let's Encrypt and CertCentre AG - ACTIVE!!
> OverbyteIcsXferTst.dpr File transfer testing, file copying, FTP up and download, HTTP download, with SSL - ACTIVE!!
注意以下示例不在项目组中,因为它仅使用Delphi 2007构建。> OverByteicsxfertstw.dpr与OverByteicsXfertst相同,但Delphi 2007的Unicode - Active!
.SamplesdelphiWebDemosWebDemos.bpg - Project group
> OverbyteIcsConHttp.dpr Basic console mode HTTP client
> OverbyteIcsHttpAsp.dpr Example of THttpCli component with cookie (POST to an ASP page)
> OverbyteIcsHttpAsy.dpr Example of THttpCli component with multiple async requests (GET)
> OverbyteIcsHttpChk.dpr Example of THttpCli to check for valid URL using HEAD request
> OverbyteIcsHttpDmo.dpr Simple HTTP client demo with proxy
> OverbyteIcsHttpGet.dpr Example of THttpCli component (GET into a file)
> OverbyteIcsHttpMultipartDownload.dpr Demo application for TMultipartHttpDownloader to download files using simultaneous connections
> OverbyteIcsHttpPg.dpr Example of THttpCli component (POST to CGI script)
> OverbyteIcsHttpPost.dpr Example of THttpCli component (POST), work with WebServ sample - ACTIVE!!
> OverbyteIcsHttpThrd.dpr Example of THttpCli component (multi-threaded GET)
> OverbyteIcsHttpTst.dpr Example of THttpCli component (GET), show many features - ACTIVE!!
> OverbyteIcsIsapi.dll Example of FTP client component within an ISAPI extension
> OverbyteIcsWebAppServer.dpr Advanced HTTP server demo, uses WebServ, adds sessions - ACTIVE!!
> OverbyteIcsWebServ.dpr Demo of HTTP server, uses TSocketServer - ACTIVE!!
请注意,启用了SSL的SSLINTERTERT下的更好样本。
注1:并非所有样本都在C ++中用于C ++构建器。这些重写通常更简单。因此,C ++构建器用户:也请查看Delphi样本!
注2:请点击ICS网站上的“ USERMADE”链接,以查找更多由ICS用户编写的示例程序,尽管这些程序主要用于IC的较旧版本。
如组件安装中所述,您可能会遇到加载示例应用程序或运行它的错误。这可能是因为上次加载表单时,我使用了另一个具有新属性的Delphi或C ++构建器版本。您可以安全地忽略与这些新属性有关的消息。它们不在样品中使用。 (这些属性是Charset,OldCreateorder等)。您还可能会遇到有关重复资源的错误。您可以安全地忽略它们。如果您有这些错误,请打开IDE中的每个表格,请忽略错误,然后重新编译。如果您不打开IDE中的表格,则在运行时会遇到错误,并且您的程序将中止。
安装新版本时,请始终删除旧DCU,OBJ,DCPIL,并始终重新编译所有内容!重新编译库或包装之前关闭所有内容。安装新版本时,请务必将其与旧版本与旧版本相同的目录树解压缩,否则您将弄乱两个版本。
tsslwsocket和tsslwsocketerver组件源自标准的twsocket和twsocketServer组件。仅当您将use_ssl符号定义为软件包和项目时,SSL代码才会被编译到组件中。只需将USE_SSL添加到项目或软件包选项中的定义中,然后重新编译所有内容即可。
使用libcrypto-1_1.dll(或libcrypto-1_1-x64.dll)和libssl-1_1.dll(或libssl-1_1-x64).dll来处理SSL协议的内容。 DLL在运行时动态加载。这意味着只有在您首次使用SSL功能时,只有在运行时才需要DLL。只要您不调用任何SSL函数,您的应用程序就会在没有OPENSL DLL的系统上运行。 ICS发行版包含最新的OpenSSL文件,或者可以从以下方式下载:
http://wiki.overbyte.eu/wiki/index.php/ics_download
大多数ICS组件都具有启用SSL的计数器部分。它们的工作方式与常规组件完全相同,除非需要SSL特定的内容,例如证书。为了支持SSL的东西,启用SSL的版本使用一些新的属性,事件和方法。许多示例程序在SSLinternet文件夹中的单独源中具有其支持SSL的计数器部分。
SSL证书:要使用SSL,您经常需要证书。我提供了使用命令行OpenSSL工具构建的一些演示证书。 PEM证书可以由文本编辑器,LF以及CRLF打开。
CACERT.PEM : A demo certificate for "Example CA"
01CERT.PEM : A demo certificate which is signed by CACERT.PEM
01KEY.PEM : A demo private key for 01CERT.PEM
Passphrase is "password".
CLIENT.PEM : A demo certificate and private key.
Passphrase is "password".
SERVER.PEM : A demo certificate and private key.
Passphrase is "password".
ROOT.PEM : A demo CA certificate.
Passphrase is "password".
TRUSTEDCABUNDLE.PEM :
A demo CA file in PEM format containing about 52
well known root CA certificates to be specified in
property CA Path of the demo applications. Read
the comments included in this file.
ROOTCABUNDLE.PEM :
A demo CA file in PEM format containing about 280
well known root CA certificates to be specified in
property CA Path of the demo applications. Read
the comments included in this file.
6F6359FC.0 : Located in sub directory SslInternetTrustedCaStore,
it's the file CACERT.PEM stored with a hashed file
name. Directory TrustedCaStore can be specified in
property CA Path of the demo applications.
有关证书的详细信息,请参阅出色的书:“使用OpenSSL的网络安全”,O'Reilly,ISBN 10:0-596-00270-X
SSL演示项目OverByTeicsPemtool可用于创建自签名的PEM证书,商业使用证书请求,以将Windows证书存储中的现有证书转换为PEM格式,以由OpenSSL理解并检查PEM证书。
您将在ICSSSLHOWTO.TXT文件中找到更多信息。
没有全球发行说明。每个组件和样本都有自己的历史。您可以在每个源文件开头的评论中找到这些历史。源代码中还有很多有用的评论。您至少应该浏览您感兴趣的组件的来源。
如果您想使用TCP/IP协议构建客户端/服务器应用程序,则可以轻松地使用IC进行操作。但是,您可以使用FrançoisPiette:Midware的另一种免费软件产品更轻松地做到这一点。可从同一网站http://www.overbyte.be获得。
电子邮件:[email protected],[email protected]
网站:http://www.overbyte.be,http://wiki.overbyte.eu
博客:http://francois-piette.blogspot.com