(又名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