(AKA FPiette's Composants)
Révisé: 18 mai 2020
Libération: 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 est un logiciel gratuit. Vous pouvez l'utiliser sans rien payer à l'exception de la carte postale de l'enregistrement (voir "Register" ci-dessous). Mais bien sûr, les dons sont les bienvenus. Vous pouvez envoyer de l'argent (devise en euros ou des dollars américains) dans une enveloppe à mon adresse de rue ou acheter un chèque-cadeau sur Amazon au Royaume-Uni. Je vais ensuite l'utiliser pour acheter des livres. Voici l'URL directe à Amazon UK (la plus proche de chez moi, veuillez ne pas en utiliser une autre): http://www.amazon.co.uk/exec/obidos/gc-email-order1/ref=g_gc_email/202-6198323-6681414 pour plus de quantité généreuse, contactez-moi par e-mail.
ICS est un logiciel gratuit. Si vous utilisez les composants, vous devez vous inscrire en envoyant une carte postale montrant la zone dans laquelle vous vivez et de beaux timbres pour mes enfants qui sont des collectionneurs de timbres. N'utilisez pas d'enveloppe, je collectionne les cartes postales d'occasion envoyées. Écrivez sur la carte postale que c'est votre inscription ICS.
Adressez votre carte à: François Piette, Rue de Grady 24, 4053 Embourg, Belgique. N'oubliez pas de mentionner votre nom, votre adresse de rue, votre e-mail et votre site Web.
ICS a été conçu par François Piette, mais de nombreux autres peuples travaillent sur les composants et les programmes d'échantillons. L'historique des modifications dans chaque liste de fichiers source tous les développeurs ayant contribué (lorsqu'aucun nom n'est donné, le changement est de F. Piette). Je ne peux pas répertorier tous les contributeurs ici, mais je tiens spécialement à remercier deux contributeurs spécialement actifs:
- Arno Garrels
- Angus Robertson [email protected]
Un nouveau forum d'assistance Web a été créé pour ICS en février 2019:
https://en.delphipraxis.net/forum/37-ics-internet-component-site/
Une fois enregistré, il est possible de suivre un forum avec des e-mails pour de nouveaux articles, ou un résumé quotidien comme l'ancienne liste de diffusion.
L'ancienne liste de diffusion Twsocket a cessé d'accepter de nouveaux messages fin 2018, mais 20 ans de messages archivés sont toujours disponibles sur:
http://lists.elists.org/pipermail/twsocket/
Les dernières versions d'ICS peuvent être téléchargées à partir du site Web Wiki ICS:
http://wiki.overbyte.eu/wiki/index.php/ics_download
ICS V5 et V6 sont des versions d'archives non plus mises à jour, la dernière version prise en charge était 2007.
ICS V7 est une version stable qui peut toujours être mise à jour pour les principaux bogues, mais pas pour les nouvelles versions de Delphi, la dernière prise en charge qu'il était entendue xe3.
ICS V8 est la version de développement actuelle qui se déroule dans un référentiel de contrôle de version publique qui est zippé chaque soir pour un téléchargement facile. La page de téléchargement ci-dessus comprend également les binaires OpenSSL nécessaires pour prendre en charge SSL. ICS V8 prend en charge les projets Delphi 64 bits et Mac OS-X. Notez que les versions C ++ Builder prises en charge sont jusqu'à XE3, 10.2 Tokyo et plus tard. Il n'y a actuellement pas de packages C ++ pour XE4 à 10.1. Mais les plus anciens ou les plus récents fonctionneront souvent.
La dernière version est V8.64 qui sera rapportée par la constante du droit d'auteur dans OverByteicsWsocket.PAS et l'Integer WsocketVersion en 864.
ICS V9 est en début de développement et est prévu pour prendre en charge Android et Linux Server. Il n'y a pas de plans actuels pour ICS pour iOS.
svn: //svn.overbyte.be/ics/trunk ou https://svn.overbyte.be/svn/ics/trunk
(Usercode = ics, mot de passe = ics)
ICS V8 a été conçu pour Embarcadero Delphi 2009 et UP, et C ++ Builder 2009 et UP, mais est entièrement compatible avec Borland Delphi 7 et Codegear 2006 et 2007. Embarcadero Rad Studio comprend Delphi et C ++ Builder.
https://www.embarcadero.com/
Avec Delphi XE2 et plus tard, les cibles Windows VCL 64 bits sont prises en charge uniquement pour Delphi. Actuellement, FiremonKey est en partie pris en charge uniquement pour Delphi (il y a encore quelques composants non portés). ICS pour MAC OSX est actuellement expérimental.
Le fichier zip contient des sous-répertoires. Vous devez utiliser l'option WinZip "Utiliser les noms de dossiers" pour restaurer cet arborescence de répertoire ou vous aurez des problèmes car les fichiers ne seraient pas dans leurs sous-répertoires appropriés.
Veuillez noter que la plupart de ces répertoires sont nommés différemment sur ICS V7 et plus tôt, pour faciliter la prise en charge de plusieurs versions de Delphi et des plates-formes, et pour faciliter l'emplacement de projets d'échantillons similaires. Veuillez ne pas installer V8 sur une installation V7 existante, ce sera un gâchis ancien et nouveau.
Ceci est la nouvelle disposition du sous-répertoire 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
Mise à niveau et réinstallation
Désinstaller un package ICS existant (menu | Composant | Installer les packages, sélectionner le package des composants et cliquer sur Supprimer).
Renommez l'ancien répertoire ICS et déziptez un répertoire nouveau ou vide, supprimez l'ancien chemin du chemin de la bibliothèque et ajoutez le nouveau répertoire. Source au chemin de la bibliothèque sous Outils | Options | ... ou le sous-répertoire.
Ce dernier a l'avantage que le code source ICS ne sera pas recompilé chaque fois que votre projet est construit. Également sous outils | Options | ... Ajoutez le nouveau répertoire. Source au chemin de navigation.
Toutes les versions de Builder Delphi et C ++ / Win32
Améliorez toujours votre compilateur avec la dernière mise à jour disponible auprès d'Embarcadero. Mettez toujours à jour votre système avec http://windowpdate.microsoft.com
SSL ou non SSL?
Par défaut, le code SSL est compilé dans le package d'exécution et les composants compatibles SSL supplémentaires sont installés. Afin de ne pas compiler le code SSL dans le package d'exécution et de ne pas installer les composants compatibles SSL, vous devez supprimer le package conditionnel Define Use_SSL à la fois du package d'exécution et de conception.
Cependant, si vous ne créez pas vos applications avec des packages d'exécution, il est recommandé de créer les packages avec des paramètres par défaut. Le code SSL sera compilé dans vos applications en fonction de la définition de la définition conditionnelle USE_SSL dans les options du projet ou non (cela nécessite d'avoir le répertoire. Source dans le chemin de la bibliothèque ou dans le chemin de recherche des projets).
L'utilisation réelle de SSL dans vos applications nécessite également que les fichiers OpenSSL libcrypto-1_1.dll (ou libcrypto-1_1-x64.dll) et libssl-1_1.dll (ou libssl-1_1-x64) .dll étant disponible quelque part dans le chemin. La distribution ICS comprend les derniers fichiers Win32 OpenSSL dans le répertoire. OpenSSL-WIN32 et les quatre DLL principales dupliqués dans. Samples Delphi SSLINNERNET pour les échantillons Win32 et Win64.
Remarque OpenSSL 1.1.1 et plus tard ne prend en charge que Windows Vista et plus tard, et Windows Server 2008 et plus tard, pas Windows XP.
D'autres fichiers OpenSSL, y compris plus âgés et Win64, peuvent être téléchargés à partir de:
http://wiki.overbyte.eu/wiki/index.php/ics_download
Notez que le support OpenSSL pour 1.0.2 et 1.1.0 a cessé sans plus de correctifs de sécurité, mais ICS continuera à les soutenir jusqu'à la fin de 2020. Mais veuillez passer à 1.1.1 pour lequel le support se poursuivra par OpenSSL jusqu'à la fin de 2023 et par ICS pour un an de plus. ICS ne commencera plus par OpenSSL 0.9.8 ou 1.0.0.
Installation à l'aide des groupes d'installation de projet
Pour chaque version de projet Delphi et C ++, un groupe de projet est fourni dans le répertoire. Installer:
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 - Faites un projet de fichier / ouvrir, accédez au répertoire d'installation, sélectionnez le fichier correct et ouvrez-le. La vue du gestionnaire de projet doit désormais afficher deux projets de package, un package d'exécution et un package de conception. Le nom du package d'exécution contient le suffixe "Run". Le nom du package de conception contient le suffixe "Design".
2 - Sélectionnez et créez le package d'exécution (n'installez pas).
3 - Sélectionnez et installez le package de conception-temps.
Après quelques secondes, vous devriez avoir une boîte de dialogue vous indiquant que le package a été installé avec un tas de nouveaux composants enregistrés dans la palette d'outils sous "OverByte ICS" et "OverByte ICS SSL". Ensuite, faites un "Save All" et un "Fermer All".
4 - Un package est installé, appelé «package de conception ICS OverByte pour Delphi XXX».
5 - Divers répertoires sous. Échantillons Delphi Inclure des échantillons qui illustrent l'utilisation de tous les composants ICS, voir plus loin.
6 - Alternativement, les versions Delphi récentes ont un volet de groupes de construction dans le chef de projet, ouvert en cliquant sur le bouton AA. Cela permet de créer plusieurs packages avec plusieurs configurations et plates-formes en un seul clic. Après le bâtiment, le forfait de conception 32 bits doit encore être installé manuellement.
7 - Notez que certains projets SSL peuvent avoir besoin de ces fichiers (ou similaires) ajoutant:
"C:Program Files (x86)CodeGearRAD Studio6.0libpsdkcrypt32.lib"
"C:Program Files (x86)CodeGearRAD Studio6.0libpsdkcryptui.lib"
Définissez également Security_Win32 dans le projet qui devrait permettre à OverByteicsSspi.Hpp de construire correctement.
FiremonKey Cross Platform Packages:
1 - Pour XE2 et ultérieurement, DXE? Installer (où? La version) installe-t-il uniquement les composants VCL, tandis que DXE? InstallVCLFMX installe également FireMonKey Cross Platform des composants (trois packages de temps d'exécution). Afin d'utiliser cette fonctionnalité d'abord désinstaller l'ancien package de conception-temps.
2 - Créez les trois packages d'exécution pour toutes les plates-formes disponibles (Windows 32 bits et 64 bits et Mac OS X) dans l'ordre où ils sont répertoriés dans Project Manager.
3 - Construisez et installez les trois packages de conception dans l'ordre où ils sont répertoriés dans Project Manager.
4 - Trois packages sont installés, appelés:
'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'
Notez que le nouvel emballage est toujours bêta / alpha, les deux noms de packages et les unités inclus peuvent changer dans une future baisse bêta. Les anciens packages VCL sont toujours là, mais ils ne prennent plus en charge FiremonKey et bien sûr, un seul ensemble de packages peut être installé dans l'IDE en même temps, si vous souhaitez que VCL et FMX installent DXE2Installvclfmx.Grouproj uniquement. Actuellement, le cache de package XE2 est buggy et doit être désactivé en ajoutant le paramètre -Onocache.
5 - Alternativement, les versions Delphi récentes ont un volet de groupes de construction dans le chef de projet, ouvert en cliquant sur le bouton AA. Cela permet de créer plusieurs packages avec plusieurs configurations et plates-formes en un seul clic. Après le bâtiment, les forfaits de conception 32 bits doivent encore être installés un par un.
6 - Le dossier. Samples Delphi PlatformDemos Contient des projets d'échantillons FiremonKey qui peuvent tous être construits avec FiremonKey pour Mac OS X (et Windows).
Installation alternative à l'aide des fichiers du projet de package:
Pour chaque Delphi et C ++ Builder version, deux fichiers de projet de package existent dans le répertoire. Packages. Fichier de projet de package à temps d'exécution et un package de conception. Le nom du fichier d'exécution contient le suffixe "Run". Le nom de fichier de conception-temps contient le suffixe "Design".
Noms de fichiers de projet de package - 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
Package Noms de fichiers de projet - FiremonKey et 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 - Ouvrez et créez le projet de package d'exécution (n'installez pas!).
2 - Ouvrez et installez le projet de package de conception-temps. (Faites un projet de fichier / ouvrir, accédez au répertoire. Packages. Sélectionnez le fichier correct et ouvrez-le. Ensuite, dans la vue du gestionnaire de projet, cliquez avec le bouton droit sur le package, puis cliquez sur le bouton Build ou Installer.)
3 - Pour Delphi XE2 et plus tard, un package d'exécution 64 bits peut être construit en modifiant la plate-forme cible du package en fenêtres 64 bits. Cela a le même nom que le package 32 bits, donc un répertoire de sortie de package différent doit être spécifié dans les options Tools / Options / Delphi pour Windows 64 bits.
Après quelques secondes, vous devriez avoir une boîte de dialogue vous indiquant que le package a été installé avec un tas de nouveaux composants enregistrés dans la palette d'outils sous "OverByte ICS" et "OverByte ICS SSL". Ensuite, faites un "Save All" et un "Fermer All".
Delphi 2006 / Win32, 2007 / Win32, 2009 / Win32, 2010 / Win32, XE / Win32:
Après avoir installé le package, vérifiez que le chemin de bibliothèque Win32 approprié (Tools / Options / Delphi Options / Library - Win32 / Library Path) a été ajouté,. Lib Sous -directory selon la version, IE. Lib Debug Win32 D2007 pour Delphi 2007. Si non, ajoutez-le manuellement. Il n'est pas obligatoire d'ajouter. Lib au chemin de Delphi global, mais cela sera beaucoup plus facile pour vous car sinon vous devrez l'ajouter à chaque projet.
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.4 Sydney / Win32, XE2 / 10 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.4 Sydney / Win64:
Semblable à ci-dessus, mais maintenant un niveau supplémentaire, donc les outils / options / langage / Delphi / Library / Sélectionnez la plate-forme comme Windows 32 bits ou 64 bits, ou macOS 32 bits ou 64 bits. Remarque Le chemin de la bibliothèque est spécifié séparément pour les plates-formes 32 bits et 64 bits. Béfiez-vous de Delphi semble par défaut à la plate-forme 64 bits et doit être changé en Plaform 32 bits avant de définir le chemin de la bibliothèque,. LIB Sous -direction selon la version, c'est-à-dire lib debug win64 d103 pour Delphi 10.3 Rio 64 bits,
Delphi 7: Ajoutez un chemin de répertoire VC32 à votre chemin de bibliothèque (Optils Menu / Options d'environnement / chemin de bibliothèque / bibliothèque. Add. Lib Debug Win32 D7 Chemin à la fin du chemin existant).
Exemple de projets Delphi
Une fois le package installé, vous pouvez ouvrir les exemples de projets. Il existe environ 95 échantillons sont divisés en plusieurs répertoires en fonction des protocoles, avec un groupe de projet qui peut être ouvert dans toutes les versions de Delphi.
.SamplesdelphiAllDemosProject.bpg
.SamplesdelphiBroswerDemo
.SamplesdelphiFtpDemosFtpDemos.bpg
.SamplesdelphiMailNewsDemosMailNewsDemos.bpg
.SamplesdelphiMiscDemosMiscDemos.bpg
.SamplesdelphiOtherDemosOtherDemos.bpg
.SamplesdelphiPlatformDemosXSamples.groupproj
.SamplesdelphiSocketDemosSocketDemos.bpg
.SamplesdelphisslinternetSslDemos.bpg
.SamplesdelphiWebDemosWebDemos.bpg
Les détails complets des projets individuels sont affichés plus loin dans ce document.
AllDemoSproject.bpg contient les 94 échantillons sauf BrowserDemo (qui a besoin d'un composant tiers installé). Mais construire tous les échantillons en même temps nécessite beaucoup de mémoire et n'a été possible que pour Delphi 10 Seattle et plus tard qui ont amélioré la gestion de la mémoire. Les versions antérieures de Delphi se compileront mutuellement.
Vous pouvez obtenir une boîte de dialogue vous indiquant que les fichiers de ressources sont manquants (ils n'ont peut-être pas été inclus dans le fichier ZIP pour économiser de l'espace) et sont recréés par Delphi. C'est ok. Tout autre message d'erreur est un problème que vous devez résoudre. Une fois que tous les fichiers de ressources ont été recréés, vous devriez voir dans le chef de projet un groupe de projets.
Pour compiler tous les échantillons du groupe à la fois, projetez / construisez tous les projets. Cela peut prendre quelques minutes.
Remarque Delphi a des avertissements qui déclenchent beaucoup de messages pour le code 100% OK. Vous pouvez désactiver ces avertissements dans les messages du projet / options / compilateurs et désélectionnant: "Symbole déprécié", "Symbole de plate-forme", "type dangereux", "code dangereux", "dactylographe dangereux". Ceux-ci sont destinés à .NET et à la portabilité Linux. Vous pouvez les ignorer en toute sécurité si vous exécutez des fenêtres. Pour votre installation, j'ai inclus un utilitaire SetProjectOptions (code source, vous devez le compiler) dans le répertoire Internet. Cet utilitaire mettra à jour les options de projet pour désactiver les avertissements.
Une fois que les composants sont tous installés, vous pouvez ouvrir les projets d'échantillon chacun après les autres et les compiler. Pour chaque projet, faites un fichier / ouvrez et sélectionnez le fichier DPR dans le répertoire Internet. Puis projeter / construire tout.
C ++ Builder 2006, 2007, 2009, 2010, XE, XE2, XE3, 10.2 Tokyo, 10.3 Rio, 10,4 Sydney:
Suivez la procédure d'installation décrite pour Delphi 2006. Changez simplement le groupe de projet et le nom du package: Utilisez CB2006, CBXE, etc., voir ci-dessus. Vous ne pouvez pas avoir des packages Delphi 2006 et Cbuilder 2006 installés en même temps dans l'IDE. Ainsi, lorsque vous passez de l'un à l'autre, assurez-vous de supprimer celui dont vous n'avez pas besoin.
L'installation d'Embarcadero ajoute cela au chemin du système:
C: Users public Documents Embarcadero Studio 20.0 bpl
Cela ne permet cependant pas d'installer les packages Win32, pour faire que vous devez ajouter ce chemin au chemin du système (win10 = start, modifier les variables d'environnement du système, les variables d'environnement, les variables système, le chemin, le montage, le nouveau :)
C: Users public Documents Embarcadero Studio 20.0 bpl win32
De nouveaux projets qui doivent utiliser des CI:
Inclure le chemin:
chemin de bibliothèque
Construire le FiremonKey CBXE2Installvclfmx C ++ Packages pour OSX peut déclencher une erreur ILINK32, il s'agit d'un bug dans C ++ Builder signalé comme QC # 103668 Les packages Win32 devraient construire sans erreurs.
Une fois que les composants sont tous installés, vous pouvez ouvrir les projets d'échantillon chacun après les autres et les compiler. Pour chaque projet, faites un fichier / ouvrez et sélectionnez le fichier DPR dans le répertoire Internet. Puis projeter / construire tout. Les projets sont situés dans des échantillons CPP Internet CB2006 (ou CB2006, CBXE, etc.) avec un groupe de projet dans chaque répertoire, OverByteicsCB2006SAM.BDSGROUP, il est probable que pour chaque projet, C ++ se plaint à propos d'un fichier .res manquant. Ce n'est pas un problème, C ++ Builder le recréera au besoin. Ils n'ont pas été inclus pour économiser de l'espace dans le fichier zip.
Une fois que les composants sont tous installés, vous pouvez ouvrir les projets d'échantillon chacun après les autres et les compiler. Pour chaque projet, faites un fichier / ouvrez et sélectionnez le fichier DPR dans le répertoire Internet. Puis projeter / construire tout.
Notes:
Vous pouvez avoir un message d'erreur, en utilisant Delphi ou C ++ Builder se plaignant de Font.Charset, OldCreateOrder et d'autres propriétés. Ce sont de nouvelles propriétés dans les versions Builder Delphi ou C ++ plus récentes, plus récentes que la version que vous utilisez. Vous pouvez ignorer ces erreurs en toute sécurité car ces propriétés ne sont pas utilisées par les composants ni les exemples de programmes. Vous pouvez rencontrer cette erreur au moment de l'exécution. Pour l'éviter, vous devez ouvrir chaque formulaire au moment de la conception et ignorer l'erreur. Puis recompile. Si vous n'ignorez pas l'erreur au moment de la conception, vous l'aurez au moment de l'exécution!
Si vous avez Delphi ou C ++ Builder se plaindre d'un fichier introuvable, ajoutez. Source Directory à votre chemin de bibliothèque.
Si vous utilisez C ++ Builder, vous pouvez rencontrer une erreur au moment du lien tel que "Impossible d'ouvrir le fichier mwbcb30.lib" (ou d'autres LIB). Il s'agit d'un bug dans C ++ Builder. Pour le résoudre, vous pouvez modifier le fichier d'option de projet (clic droit dans Project Manager) et supprimer toute référence aux bibliothèques manquantes.
N'oubliez pas que les composants du générateur C ++ se trouvent dans. Delphi VC32 qui est le code source d'objet Pascal (pas un problème pour C ++ Builder, indiquez simplement que les fichiers * .pas sont affichés lors de l'installation). C ++ Builder créera les fichiers * .hpp. Il existe des fichiers d'aide en ligne dans le répertoire VC32.
Ce qui suit est une liste des fichiers qui doivent être installés afin d'ajouter correctement tous les composants disponibles de cette collection:
> 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
Les unités de support et de services publics suivantes suivantes:
> 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.
Pour Delphi et C ++ Builder XE2 et ultérieurement, les applications de bureau FiremonKey sont un alternatif pour les applications VCL Forms, prenant en charge les multiples plateformes de Windows 32 bits et 64 bits et Mac OS X (et peut-être d'autres plates-formes à l'avenir). FireMonKey utilise différents composants visuels pour VCL, tandis que certains composants non visuels peuvent être utilisés pour les projets VCL et FMX, tandis que d'autres composants ont besoin de versions spéciales, telles que ICS.
Les bêtas antérieurs de V8 ont utilisé la définition conditionnelle "FMX" qui n'est plus requise dans les options de projet. Au lieu de cela dans votre application ICS FiremonKey existante. Ajoutez soit "ics.fmx" aux noms de portée de l'unité dans les options du projet ou appliquez les modifications suivantes dans la clause Utilisation, renomment:
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
La liste ci-dessus est également la liste des unités qui ont désormais des noms différents dans le framework FiremonKey, mais la plupart d'entre eux partagent le même fichier source.
La suppression d'un composant ICS sur le formulaire ajoutera automatiquement le nom d'unité correct pour chaque cadre (n'oubliez pas de désactiver le cache de package comme décrit ci-dessus).
Unit OverByteicsLibrary.pas a été obsolète et ICS ICV8 ne l'utilise plus. Si vous l'avez utilisé dans votre propre code, lisez le commentaire sur OverByteicsLibrary.pas, recherchez "Déacré".
Avec V8, les 96 échantillons d'applications sont désormais regroupées en répertoires en fonction des fonctionnalités générales, pour faciliter la comparaison des échantillons connexes.
De nombreux échantillons sont similaires. Lors de la recherche de quelque chose, regardez toujours la date des démos créées. Le plus récent est toujours le meilleur code! Dans les listes ci-dessous, actif !! Indique les applications qui sont activement maintenues pour tester et prendre en charge de nouvelles fonctionnalités dans les composants ICS. Ce ne sont pas des échantillons les plus simples, mais sont généralement les premiers à essayer lors de l'apprentissage d'un composant.
.SamplesdelphiBroswerDemo
> FrameBrowserIcs.dpr Web Browser using HtmlViewer component - ACTIVE!!
Remarque Cet échantillon a besoin du composant HTMLViewer installé
.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!!
Notez de meilleurs échantillons sous SSLinternet avec SSL activé.
.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!!
Notez de meilleurs échantillons sous SSLinternet avec SSL activé.
.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!!
Tous ces échantillons peuvent être conçus pour Mac OS X (et 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
Notez de meilleurs échantillons sous SSLinternet avec SSL activé.
.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!!
Remarque Le suivant ne figure pas dans le groupe de projets car il se construit uniquement avec Delphi 2007.> Overbyteicsxfertw.dpr Identique à OverByteicsXfertSt mais Unicode pour Delphi 2007 - 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!!
Notez de meilleurs échantillons sous SSLinternet avec SSL activé.
Remarque 1: Tous les échantillons n'ont pas été réécrits dans C ++ pour C ++ Builder. Et ceux réécrits sont souvent beaucoup plus simples. Donc C ++ Builder User: Jetez un œil à l'échantillon Delphi!
Remarque 2: Suivez le lien "Usermade" sur le site Web ICS pour trouver plus d'échantillons de programmes écrits par les utilisateurs ICS, bien que ceux-ci soient principalement pour les anciennes versions d'ICS.
Comme expliqué dans l'installation des composants, vous pouvez rencontrer une erreur de chargement d'un exemple d'application ou de l'exécuter. Cela peut être dû au fait que la dernière fois que j'ai chargé le formulaire, j'utilisais une autre version Delphi ou C ++ Builder qui a de nouvelles propriétés. Vous pouvez ignorer en toute sécurité les messages liés à ces nouvelles propriétés. Ils ne sont pas utilisés dans les échantillons. (Les propriétés sont Charset, OldCreateOrder et autres). Vous pouvez également rencontrer une erreur sur les ressources en double. Vous pouvez les ignorer en toute sécurité. Si vous avez ces erreurs, ouvrez chaque formulaire dans l'IDE, ignorez l'erreur, puis recompilez. Si vous n'ouvrez pas le formulaire dans l'IDE, vous obtiendrez les erreurs lors de l'exécution et votre programme s'abandonnera.
Lors de l'installation d'une nouvelle version, supprimez toujours l'ancien DCU, OBJ, DCPIL et recompilez toujours tout! Fermez tout avant de recompiler la bibliothèque ou les packages. Lors de l'installation d'une nouvelle version, assurez-vous de le décompresser dans le même arborescence de répertoire que l'ancien ou vous dérangerez les deux versions.
TSSLWSocket et TSSLWSocketServer sont dérivés du composant Twsocket et TwsocketServer standard. Le code SSL est compilé dans le composant que si vous définissez le symbole USE_SSL à vos packages et projets. Ajoutez simplement USE_SSL aux définions dans les options de projet ou de package et de tout recompiler.
Les composants utilisent libcrypto-1_1.dll (ou libcrypto-1_1-x64.dll) et libssl-1_1.dll (ou libssl-1_1-x64) .dll pour gérer les trucs de protocole SSL. Les DLL sont chargées dynamiquement au moment de l'exécution. Cela signifie que les DLL ne seront requises qu'au moment de l'exécution lorsque vous utilisez pour la première fois une fonction SSL. Vos applications fonctionneront sur des systèmes sans DLL OpenSSL tant que vous n'appelez aucune fonction SSL. La distribution ICS comprend les derniers fichiers OpenSSL ou ils peuvent être téléchargés à partir de:
http://wiki.overbyte.eu/wiki/index.php/ics_download
La plupart des composants ICS ont leur compteur compatible SSL. Ils fonctionnent exactement de la même manière que le composant ordinaire, sauf lorsque des choses spécifiques à SSL sont nécessaires, par exemple des certificats. Pour prendre en charge SSL Stuff, la version compatible SSL utilise de nouvelles propriétés, événements et méthodes. De nombreux programmes d'échantillons ont leur contre-part compatible SSL dans des sources distinctes situées dans le dossier SSLINternet.
Certificats SSL: Pour utiliser SSL, vous avez souvent besoin de certificats. Je fournis des certificats de démonstration que j'ai construits à l'aide de l'outil de ligne de commande OpenSSL. Les certificats PEM peuvent être ouverts par un éditeur de texte, LF et CRLF sont autorisés sous forme de ruptures de ligne.
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.
Pour plus de détails sur le certificat, consultez l'excellent livre: "Sécurité du réseau avec OpenSSL", O'Reilly, ISBN 10: 0-596-00270-X
Le projet de démonstration SSL OverByteicspemtool peut être utilisé pour créer des certificats PEM auto-signés, des demandes de certificat pour un usage commercial, pour convertir les certificats existants dans le magasin de certificats Windows au format PEM compris par OpenSSL et pour examiner les certificats PEM.
Vous trouverez plus d'informations dans le fichier icssslhowto.txt.
Il n'y a pas de notes de publication mondiales. Chaque composant et échantillon a sa propre histoire. Vous pouvez trouver ces histoires dans le commentaire au début de chaque fichier source. Il existe également un tas de commentaires utiles dans le code source. Vous devez au moins parcourir la source des composants qui vous intéressent.
Si vous souhaitez créer des applications client / serveur à l'aide du protocole TCP / IP, vous pouvez le faire facilement avec ICS. Mais vous pouvez le faire beaucoup plus facilement en utilisant un autre produit gratuit de François Piette: Midware. Disponible sur le même site Web http://www.overbyte.be.
Courriels: [email protected], [email protected]
Sites: http://www.overbyte.be, http://wiki.overbyte.eu
Blog: http://francois-piette.blogspot.com