<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yukikoi</id>
	<title>RAD Studio - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yukikoi"/>
	<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/fr/Sp%C3%A9cial:Contributions/Yukikoi"/>
	<updated>2026-08-18T22:10:08Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9sentation_des_tests_unitaires&amp;diff=213880</id>
		<title>Présentation des tests unitaires</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9sentation_des_tests_unitaires&amp;diff=213880"/>
		<updated>2023-06-27T05:02:29Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Présentation de DUnit}}&lt;br /&gt;
{{Note|DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++. Pour les développeurs C++, DUnit est le meilleur outil. C++ peut également être testé à l&#039;aide d&#039;autres frameworks comme Google Test, disponible via le [[Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]].}}&lt;br /&gt;
&#039;&#039;&#039;Nouveauté pour 2010 !&#039;&#039;&#039; [http://www.youtube.com/watch?v=nm_yq9jYckc Vidéo : {{Delphi}} Unit Tests, par Mike Rozlog]&lt;br /&gt;
&lt;br /&gt;
{{Variables|Product}} intègre un framework de test à code source libre, &#039;&#039;DUnit&#039;&#039;, pour le développement et l&#039;exécution de cas de test automatisés pour vos applications. Le framework DUnit est disponible pour {{Delphi}} et C++. Ce framework simplifie le processus de développement de tests pour les classes et méthodes de vos applications. L&#039;utilisation de tests unitaires avec le refactoring permet d&#039;améliorer la stabilité de vos applications. Tester un ensemble standard de tests à chaque fois qu&#039;une petite modification est effectuée à travers le code permettra de voir les problèmes tôt dans le cycle de développement.&lt;br /&gt;
&lt;br /&gt;
Le framework de test DUnit est basé sur le framework de test JUnit et il partage une grande partie des fonctionnalités.&lt;br /&gt;
&lt;br /&gt;
Cette rubrique comporte les informations suivantes :&lt;br /&gt;
&lt;br /&gt;
* Ce qui est installé&lt;br /&gt;
* Projets de test&lt;br /&gt;
* Cas de test&lt;br /&gt;
* Fixtures de test&lt;br /&gt;
&lt;br /&gt;
==Installation de DUnit==&lt;br /&gt;
&lt;br /&gt;
Pour installer la fonctionnalité DUnit, procédez comme suit :&lt;br /&gt;
&lt;br /&gt;
# Sélectionnez {{Menu|Outils &amp;amp;gt; Gérer les plates-formes}} pour ouvrir le &#039;&#039;&#039;Gestionnaire de fonctionnalités&#039;&#039;&#039;.&lt;br /&gt;
# Sur l&#039;onglet &#039;&#039;&#039;Autres options&#039;&#039;&#039;, cochez la fonctionnalité  Frameworks de test unitaire DUnit pour l&#039;ajouter à votre installation de {{Product}}.&lt;br /&gt;
# Sélectionnez &#039;&#039;&#039;Appliquer&#039;&#039;&#039; pour appliquer les modifications sélectionnées.&lt;br /&gt;
&lt;br /&gt;
Une fois les modifications appliquées, le &#039;&#039;&#039;[[Gestionnaire de fonctionnalités|Gestionnaire de fonctionnalités]]&#039;&#039;&#039; affiche un écran &#039;&#039;&#039;Opération terminée&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Ce qui est installé==&lt;br /&gt;
&lt;br /&gt;
Par défaut, le framework DUnit est installé pendant l&#039;installation complète de {{Variables|Product}} ou pendant l&#039;installation de l&#039;une des personnalités individuelles ({{Delphi}} ou {{CBuilder}}).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DUnit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pour {{Delphi}} et {{CBuilder}}, le framework DUnit est installé automatiquement par l&#039;installateur de {{Variables|Product}}. Vous pouvez trouver de nombreuses ressources DUnit dans le répertoire &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;\source\DUnit&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;, sous le répertoire racine d&#039;installation. Ces ressources comprennent les fichiers source, la documentation et les exemples de test.&lt;br /&gt;
&lt;br /&gt;
Pour {{CBuilder}}, les fichiers de bibliothèque et d&#039;en-tête C++ suivants sont également fournis pour un usage en tant que projets de test C++ :&lt;br /&gt;
&lt;br /&gt;
* GUITestRunner.hpp&lt;br /&gt;
* XMLTestRunner.hpp&lt;br /&gt;
* TextTestRunner.hpp&lt;br /&gt;
* TestFramework.hpp&lt;br /&gt;
* DUnitMainForm.hpp&lt;br /&gt;
* DUnitAbout.hppdir&lt;br /&gt;
* dunitrtl.lib&lt;br /&gt;
&lt;br /&gt;
{{Note| Ces fichiers ne font pas partie de la distribution DUnit standard. Ces fichiers sont préconstruits et inclus avec {{CBuilder}} par souci de commodité.}}&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;utilisation de DUnit, incluez en général au moins un cas de test et une ou plusieurs fixtures de test. Les cas de test comprennent habituellement une ou plusieurs instructions d&#039;assertions pour vérifier les fonctionnalités de la classe à tester.&lt;br /&gt;
&lt;br /&gt;
DUnit est sous licence de [https://www.mozilla.org/en-US/MPL/1.1/ Mozilla Public License Version 1.1 (MPL)].&lt;br /&gt;
&lt;br /&gt;
==Projets de test==&lt;br /&gt;
&lt;br /&gt;
Un projet de test encapsule un ou plusieurs cas de test et est représenté par un noeud dans le &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039; de l&#039;EDI. {{Variables|Product}} fournit &#039;&#039;&#039;l&#039;expert Projet de test&#039;&#039;&#039;, que vous pouvez utiliser pour créer un projet de test de base. Lorsqu&#039;un projet de test est associé à un projet de code, vous pouvez créer des cas de test et les ajouter au projet de test.&lt;br /&gt;
&lt;br /&gt;
==Cas de test==&lt;br /&gt;
&lt;br /&gt;
Dans un projet de test unitaire typique, chaque classe à tester a une classe de test correspondante. Toutefois, ce n&#039;est pas nécessaire. La classe de test est également désignée sous le nom &#039;&#039;cas de test&#039;&#039;. Selon le framework utilisé, la classe de test peut être dérivée d&#039;une classe de base de cas de test spécifique. En général, un cas de test comporte un jeu d&#039;une ou de plusieurs méthodes qui correspondent à l&#039;une des méthodes de la classe à tester. Plusieurs cas de test peuvent être inclus dans un projet de test. Cette capacité de grouper et de combiner les tests dans les cas de test et les cas de test dans des projets de test est ce qui différencie les cas de test des manières plus simples de tester, comme l&#039;utilisation des instructions d&#039;impression ou l&#039;évaluation des expressions du débogueur. Chaque cas de test et projet de test est réutilisable et réexécutable, et peut être automatisé à travers l&#039;utilisation de fichiers batch, de scripts de construction ou d&#039;autres types de systèmes de test.&lt;br /&gt;
&lt;br /&gt;
Habituellement, il est conseillé de créer les tests dans un projet distinct du projet contenant les fichiers source. De cette manière, vous ne devez pas passer par le processus qui consiste à retirer vos tests de l&#039;application de production. {{Variables|Product}} fournit &#039;&#039;&#039;l&#039;expert Cas de test&#039;&#039;&#039;  pour vous aider à créer des cas de test de base, que vous pouvez ensuite personnaliser à votre guise.&lt;br /&gt;
&lt;br /&gt;
==Fixtures de test==&lt;br /&gt;
&lt;br /&gt;
Le terme &#039;&#039;fixture de test&#039;&#039; se réfère à une combinaison de plusieurs cas de test, qui teste de manière logique des fonctionnalités associées. Vous pouvez définir les fixtures de test dans vos cas de test. Généralement, vous intanciez vos objets, initialisez les variables, configurez les connexions aux bases de données et exécutez les tâches de maintenance dans les sections &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;SetUp&amp;lt;/span&amp;gt; et &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TearDown&amp;lt;/span&amp;gt;. Tant que vos tests agissent sur le même objet, vous pouvez inclure un nombre de tests dans n&#039;importe quel fixture de test donné.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation de DUnit|Présentation de DUnit]]&lt;br /&gt;
*[[Développement de tests|Développement de tests]]&lt;br /&gt;
*[http://www.youtube.com/watch?v=nm_yq9jYckc Vidéo : {{Delphi}} Unit Tests, par Mike Rozlog] (EN)&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilisation de RAD Studio]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Test_des_applications_-_Index&amp;diff=213878</id>
		<title>Test des applications - Index</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Test_des_applications_-_Index&amp;diff=213878"/>
		<updated>2023-06-27T05:02:28Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Etapes du développement d&#039;un projet}}&lt;br /&gt;
Le test unitaire fait partie intégrante du développement d&#039;applications fiables. Les rubriques suivantes évoquent les caractéristiques des tests unitaires qui sont comprises dans {{Variables|Product}}.&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation de DUnitX|Présentation de DUnitX]]&lt;br /&gt;
** [[Développement de tests avec DUnitX|Développement de tests avec DUnitX]]{{f|radstudio|&lt;br /&gt;
** [[Comment convertir les tests DUnit en DUnitX|Comment convertir les tests DUnit en DUnitX]]&lt;br /&gt;
&lt;br /&gt;
* [[Présentation de DUnit|Présentation de DUnit]] &lt;br /&gt;
&lt;br /&gt;
: {{Note| DUnitX est un framework de test unitaire moderne. Il est préférable d&#039;utiliser DUnitX plutôt que DUnit. DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++.}}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
** [[Présentation des tests unitaires|Présentation des tests unitaires]]&lt;br /&gt;
** [[Développement de tests|Développement de tests]]&amp;lt;br /&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Index des rubriques]]&lt;br /&gt;
[[Category:Utilisation de RAD Studio]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Ex%C3%A9cution_et_d%C3%A9bogage_de_votre_application_Android_sur_un_p%C3%A9riph%C3%A9rique_Android_%C3%A0_distance&amp;diff=213876</id>
		<title>Exécution et débogage de votre application Android sur un périphérique Android à distance</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Ex%C3%A9cution_et_d%C3%A9bogage_de_votre_application_Android_sur_un_p%C3%A9riph%C3%A9rique_Android_%C3%A0_distance&amp;diff=213876"/>
		<updated>2023-06-27T05:02:28Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications mobiles Android}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
Cette page explique comment déboguer une application Android sur un périphérique Android connecté en réseau. Cette méthode est également connue en tant que {{Code|ADB over network}} ou {{Code|TCP/IP debugging}}.&lt;br /&gt;
Vous devez avoir lu [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]] et compris les étapes nécessaires pour configurer et utiliser un périphérique Android pour le développement.&lt;br /&gt;
&lt;br /&gt;
Les avantages de cette méthode sont notamment les suivants :&lt;br /&gt;
&lt;br /&gt;
* Connexion sans fil au périphérique Android, aucun câble USB nécessaire (lorsque les périphériques ne sont pas associés à une racine, le câble USB est nécessaire pour changer le mode de débogage).&lt;br /&gt;
* Simplifie le partage d&#039;un périphérique Android pour le débogage entre développeurs.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Toutes les commandes ADB sur cette page fonctionnent si vous avez seulement un périphérique Android connecté à votre machine. Si vous avez plus d&#039;un périphérique Android connecté, voir [http://developer.android.com/tools/help/adb.html#directingcommands Android Help: Directing Commands (EN)] pour connaître la méthode appropriée pour l&#039;exécution des commandes ADB.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Les applications Android continuent à s&#039;exécuter en arrière-plan, même si elles ne sont pas visibles pour les utilisateurs. Comme l&#039;application continue à s&#039;exécuter, on peut avoir l&#039;impression que le débogueur est en panne alors qu&#039;il s&#039;est simplement déconnecté de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
==Activation du débogage TCP/IP sur le périphérique Android==&lt;br /&gt;
&lt;br /&gt;
===Exigences===&lt;br /&gt;
&lt;br /&gt;
* Le périphérique Android doit être connecté à un réseau sans fil identique à (ou faisant partie de) celui auquel votre machine de développement est connectée.&lt;br /&gt;
&lt;br /&gt;
Si votre périphérique Android &#039;&#039;&#039;n&#039;est pas associé à une racine&#039;&#039;&#039;, vous avez également besoin de ce qui suit :&lt;br /&gt;
&lt;br /&gt;
* Une machine sur laquelle est installé le SDK Android.&lt;br /&gt;
* Un câble USB.&lt;br /&gt;
* Le périphérique Android doit être reconnu en tant que &#039;&#039;&#039;périphérique ADB&#039;&#039;&#039; sur la machine.&lt;br /&gt;
&lt;br /&gt;
Si votre périphérique Android &#039;&#039;&#039;est associé à une racine&#039;&#039;&#039;, vous avez besoin de ce qui suit :&lt;br /&gt;
&lt;br /&gt;
* L&#039;une des conditions suivantes :&lt;br /&gt;
** Un paramètre de menu activant l&#039;option {{Code|TCP/IP debugging mode}} (disponible sur certaines ROM). Il se trouve généralement dans le menu des réglages du développeur, et il peut s&#039;appeler {{Code|ADB over network}}).&lt;br /&gt;
** Une application émulateur de terminal installée sur votre périphérique (comme [https://play.google.com/store/apps/details?id=jackpal.androidterm&amp;amp;hl=en Terminal Emulator for Android]).&lt;br /&gt;
** Une application qui active l&#039;option {{Code|TCP/IP debugging mode}} (par exemple [https://play.google.com/store/apps/details?id=net.wiagames.adbon&amp;amp;rdid=net.wiagames.adbon ADB over network]).&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Votre machine de développement peut être connectée au réseau sans fil ou via un câble Ethernet, tant qu&#039;elle se trouve sur le même réseau que le périphérique Android.&lt;br /&gt;
&lt;br /&gt;
===Etapes===&lt;br /&gt;
&lt;br /&gt;
Si votre périphérique Android &#039;&#039;&#039;n&#039;est pas associé à une racine&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
# Connectez le périphérique Android à la machine via un câble USB.&lt;br /&gt;
# Ouvrez un terminal, tel que {{Path|cmd.exe}}.&lt;br /&gt;
# Allez au dossier {{Path|platform-tools}} de votre SDK Android :&lt;br /&gt;
#: {{#tag:source|cd &amp;quot;{{PublicDocumentsPath}}\CatalogRepository\&amp;amp;lt;dossier SDK Android&amp;amp;gt;\platform-tools&amp;quot;|lang=winbatch|enclose=none}}&lt;br /&gt;
# Exécutez cette commande :&lt;br /&gt;
#: {{#tag:source|adb tcpip 5555|lang=winbatch|enclose=none}}&lt;br /&gt;
#:: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Remplacer {{Code|5555}} avec le port sur lequel le périphérique va écouter les connexions entrantes.&lt;br /&gt;
# Si vous le souhaitez, vous pouvez déconnecter le périphérique Android de la machine après avoir exécuté cette commande.&lt;br /&gt;
&lt;br /&gt;
Si votre périphérique Android &#039;&#039;&#039;est associé à une racine&#039;&#039;&#039;, effectuez l&#039;une des actions suivantes pour activer le mode de débogage TCP/IP :&lt;br /&gt;
&lt;br /&gt;
* Activez le {{Code|TCP/IP debugging mode}} dans le menu des réglages du développeur sur votre périphérique (cette option peut s&#039;appeler {{Code|ADB over network}}).&lt;br /&gt;
* Exécutez le code suivant dans un émulateur de terminal :&lt;br /&gt;
*:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;su&amp;lt;/source&amp;gt;&lt;br /&gt;
*:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;setprop service.adb.tcp.port 5555&amp;lt;/source&amp;gt;&lt;br /&gt;
*:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;stop adbd&amp;lt;/source&amp;gt;&lt;br /&gt;
*:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;start adbd&amp;lt;/source&amp;gt;&lt;br /&gt;
* Utilisez une application qui active le débogage TCP/IP.&lt;br /&gt;
&lt;br /&gt;
==Connexion au périphérique Android==&lt;br /&gt;
&lt;br /&gt;
Pour connecter le périphérique Android à partir de votre machine de développement, exécutez la commande suivante dans le répertoire &amp;quot;platform-tools&amp;quot; de votre installation du SDK Android : {{Code|adb connect {{Placeholder|IPAddress}}:{{Placeholder|portNumber}}}} (par exemple : {{Code|adb connect 192.168.1.110:5555}}). {{Placeholder|IPAddress}} est l&#039;adresse IP de votre périphérique. Voici plusieurs moyens de trouver l&#039;adresse IP de votre périphérique :&lt;br /&gt;
&lt;br /&gt;
* Accédez au menu de votre périphérique (généralement : {{Code| Settings &amp;amp;gt; Wi-Fi &amp;amp;gt; Advanced Wi-Fi}}, mais cela peut varier en fonction de la version du système d&#039;exploitation de votre périphérique ou du fabricant).&lt;br /&gt;
* Exécutez la commande suivante dans le répertoire &amp;quot;platform-tools&amp;quot; de votre installation du SDK Android : {{Code|adb shell netcfg}}. Pour cela, votre périphérique doit être connecté via un câble USB.&lt;br /&gt;
* Trouvez l&#039;adresse IP de votre périphérique dans la page des paramètres de votre routeur réseau.&lt;br /&gt;
&lt;br /&gt;
Si la connexion réussit, la fenêtre de commande affiche : &amp;quot;connected to {{Placeholder|IPAddress}}:{{Placeholder|portNumber}}&amp;quot;. Vous pouvez utiliser la commande {{Code|adb devices}} pour afficher une liste des périphériques ADB connectés. Le périphérique Android connecté doit maintenant apparaître dans la &#039;&#039;&#039;[[Fenêtre Projets|fenêtre Projets]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Déconnexion à partir d&#039;un périphérique Android à distance==&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez vous déconnecter du périphérique Android, [[#Réinitialisaiton du mode débogage sur le périphérique Android|réinitialisez simplement le mode débogage]] sur le périphérique. Autrement, vous pouvez exécuter le code suivant sur la machine de développement : {{Code|adb disconnect {{Placeholder|IPAddress}}:{{Placeholder|portNumber}}}}.&lt;br /&gt;
&lt;br /&gt;
==Réinitialisation du mode débogage sur le périphérique Android==&lt;br /&gt;
&lt;br /&gt;
Sur un périphérique Android, le mode débogage est réinitialisé chaque fois que le périphérique est redémarré. Si vous souhaitez réinitialiser le mode débogage sans redémarrer le périphérique, procédez de l&#039;une des manières suivantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Exécutez la commande {{Code|adb usb}} sur la machine distante à laquelle le périphérique Android est connecté via un câble USB. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Exécutez le code suivant dans un émulateur de terminal sur le périphérique :&amp;lt;/li&amp;gt;&lt;br /&gt;
 style=&amp;quot;list-style: none; display: inline&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 setprop service.adb.tcp.port -1&lt;br /&gt;
 stop adbd&lt;br /&gt;
 start adbd&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Création d&#039;une app Android|Création d&#039;une app Android]]&lt;br /&gt;
* [[Exécution de votre application Android sur un périphérique Android|Exécution de votre application Android sur un périphérique Android]]&lt;br /&gt;
* [[Débogage des applications multi-périphériques|Débogage des applications multi-périphériques]]&lt;br /&gt;
* [[Périphériques Android pris en charge pour le développement d&#039;applications|Périphériques Android pris en charge pour le développement d&#039;applications]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:XE8]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9sentation_de_DUnit&amp;diff=213874</id>
		<title>Présentation de DUnit</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9sentation_de_DUnit&amp;diff=213874"/>
		<updated>2023-06-27T05:02:25Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Test des applications - Index}}&lt;br /&gt;
{{Attention| N&#039;oubliez pas que &#039;&#039;&#039;DUnit ne prend pas en charge l&#039;interface utilisateur graphique de {{FM}} &#039;&#039;&#039; pour visualiser votre sortie ; utilisez à la place [[Présentation de DUnitX|DUnitX]].}}&lt;br /&gt;
{{Note|DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++. Pour les développeurs C++, DUnit est le meilleur outil. C++ peut également être testé à l&#039;aide d&#039;autres frameworks comme Google Test, disponible via le [[Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]].}}&lt;br /&gt;
&lt;br /&gt;
DUnit est un framework de test unitaire open-source basé sur le framework de test JUnit. Le framework DUnit vous permet de construire et d&#039;exécuter des tests sur des applications {{Delphi}} Win32. L&#039;intégration du framework DUnit dans {{Variables|Product}} vous permet de développer et d&#039;exécuter des tests sur des applications {{Delphi}} Win32 et {{CBuilder}}.&lt;br /&gt;
&lt;br /&gt;
Le framework de test DUnit propose son propre ensemble de méthodes pour les conditions de test. Les méthodes représentent des assertions communes. Vous pouvez également créer vos propres assertions personnalisées. Vous pouvez utiliser les méthodes proposées pour tester un grand nombre de conditions.&lt;br /&gt;
&lt;br /&gt;
Voir également la page d&#039;accueil DUnit sur [http://dunit.sourceforge.net/ http://dunit.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
==Installation de DUnit==&lt;br /&gt;
&lt;br /&gt;
Pour installer la fonctionnalité DUnit, procédez comme suit :&lt;br /&gt;
&lt;br /&gt;
# Sélectionnez {{Menu|Outils &amp;amp;gt; Gérer les plates-formes}} pour ouvrir le &#039;&#039;&#039;Gestionnaire de fonctionnalités&#039;&#039;&#039;.&lt;br /&gt;
# Sur l&#039;onglet &#039;&#039;&#039;Autres options&#039;&#039;&#039;, cochez la fonctionnalité Frameworks de test unitaire DUnit pour l&#039;ajouter à votre installation de {{Product}}.&lt;br /&gt;
# Sélectionnez &#039;&#039;&#039;Appliquer&#039;&#039;&#039; pour appliquer les modifications sélectionnées.&lt;br /&gt;
&lt;br /&gt;
Une fois les modifications appliquées, le &#039;&#039;&#039;[[Gestionnaire de fonctionnalités|Gestionnaire de fonctionnalités]]&#039;&#039;&#039; affiche un écran &#039;&#039;&#039;Opération terminée&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Développement de tests DUnit {{Delphi}}==&lt;br /&gt;
&lt;br /&gt;
Chaque test DUnit implémente une classe de type &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;TTestCase&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant de programme {{Delphi}} Win32 définit deux fonctions qui effectuent une simple addition et soustraction :&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 unit CalcUnit;&lt;br /&gt;
 &lt;br /&gt;
 interface&lt;br /&gt;
 &lt;br /&gt;
 type&lt;br /&gt;
 &lt;br /&gt;
 { TCalc }&lt;br /&gt;
 &lt;br /&gt;
   TCalc = class&lt;br /&gt;
   public&lt;br /&gt;
     function Add(x, y: Integer): Integer;&lt;br /&gt;
     function Sub(x, y: Integer): Integer;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 { TCalc }&lt;br /&gt;
 &lt;br /&gt;
 function TCalc.Add(x, y: Integer): Integer;&lt;br /&gt;
 begin&lt;br /&gt;
   Result := x + y;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 function TCalc.Sub(X, Y: Integer): Integer;&lt;br /&gt;
 begin&lt;br /&gt;
   Result := x - y;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant montre le fichier squelette des cas de test qu&#039;il est nécessaire de modifier pour tester les deux fonctions, &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;Add&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt; et &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;Sub&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;, du code précédent.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 unit TestCalcUnit;&lt;br /&gt;
 &lt;br /&gt;
 interface&lt;br /&gt;
 &lt;br /&gt;
 uses&lt;br /&gt;
   TestFramework, CalcUnit;&lt;br /&gt;
 type&lt;br /&gt;
   // Test methods for class TCalc&lt;br /&gt;
   TestTCalc = class(TTestCase)&lt;br /&gt;
   strict private&lt;br /&gt;
     aTCalc: TCalc;&lt;br /&gt;
   public&lt;br /&gt;
     procedure SetUp; override;&lt;br /&gt;
     procedure TearDown; override;&lt;br /&gt;
   published&lt;br /&gt;
     procedure TestAdd;&lt;br /&gt;
     procedure TestSub;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 procedure TestTCalc.SetUp;&lt;br /&gt;
 begin&lt;br /&gt;
   aTCalc := TCalc.Create;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 procedure TestTCalc.TearDown;&lt;br /&gt;
 begin&lt;br /&gt;
   aTCalc := nil;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 procedure TestTCalc.TestAdd;&lt;br /&gt;
 var&lt;br /&gt;
   _result: System.Integer;&lt;br /&gt;
   y: System.Integer;&lt;br /&gt;
   x: System.Integer;&lt;br /&gt;
 begin&lt;br /&gt;
   _result := aTCalc.Add(x, y);&lt;br /&gt;
   // TODO: Add testcode here&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 procedure TestTCalc.TestSub;&lt;br /&gt;
 var&lt;br /&gt;
   _result: System.Integer;&lt;br /&gt;
   y: System.Integer;&lt;br /&gt;
   x: System.Integer;&lt;br /&gt;
 begin&lt;br /&gt;
   _result := aTCalc.Sub(x, y);&lt;br /&gt;
   // TODO: Add testcode here&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 initialisation&lt;br /&gt;
   // Register any test cases with the test runner&lt;br /&gt;
   RegisterTest(TestTCalc.Suite);&lt;br /&gt;
 end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Développement de tests DUnit C++==&lt;br /&gt;
&lt;br /&gt;
Chaque test DUnit implémente une classe de type &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;TTestCase&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant (programme et fichier d&#039;en-tête C++ Win32) définit deux fonctions qui effectuent une simple addition et soustraction :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 #ifndef Unit7H&lt;br /&gt;
 #define Unit7H&lt;br /&gt;
 //-------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 class TCalc&lt;br /&gt;
 {&lt;br /&gt;
 public:&lt;br /&gt;
   int Add(int x, int y);&lt;br /&gt;
   int Sub(int x, int y);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #endif&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant (TestUnit7.cpp) contient un cas de test pour la classe TCalc. L&#039;expert a généré cet exemple, mais l&#039;utilisateur devrait écrire des tests à titre d&#039;exercice des fonctions &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;Add&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt; et &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;Sub&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;. L&#039;exemple illustre la structure DUnit des tests unitaires.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 #include &amp;lt;vcl.h&amp;gt;&lt;br /&gt;
 #pragma hdrstop&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;lt;TestFramework.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 class TTestTCalc : public TTestCase&lt;br /&gt;
 {&lt;br /&gt;
 public:&lt;br /&gt;
   __fastcall virtual TTestTCalc(AnsiString name) : TTestCase(name) {}&lt;br /&gt;
   virtual void __fastcall SetUp();&lt;br /&gt;
   virtual void __fastcall TearDown();&lt;br /&gt;
 &lt;br /&gt;
 __published:&lt;br /&gt;
   void __fastcall TestAdd();&lt;br /&gt;
   void __fastcall TestSub();&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 void __fastcall TTestTCalc::SetUp()&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void __fastcall TTestTCalc::TearDown()&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void __fastcall TTestTCalc::TestAdd()&lt;br /&gt;
 {&lt;br /&gt;
   // int Add(int x, int y)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void __fastcall TTestTCalc::TestSub()&lt;br /&gt;
 {&lt;br /&gt;
   // int Sub(int x, int y)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 static void registerTests()&lt;br /&gt;
 {&lt;br /&gt;
   _di_ITestSuite iSuite;&lt;br /&gt;
   TTestSuite* testSuite = new TTestSuite(&amp;quot;Testing Unit7.h&amp;quot;);&lt;br /&gt;
   if (testSuite-&amp;gt;GetInterface(iSuite)) {&lt;br /&gt;
     testSuite-&amp;gt;AddTests(__classid(TTestTCalc));&lt;br /&gt;
     Testframework::RegisterTest(iSuite);&lt;br /&gt;
   } else {&lt;br /&gt;
     delete testSuite;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 #pragma startup registerTests 33&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fonctions DUnit==&lt;br /&gt;
&lt;br /&gt;
DUnit fournit un certain nombre de fonctions utilisables dans vos tests.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Fonction&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Check&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si une condition a été rencontrée.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&amp;lt;span id=&amp;quot;CheckEquals&amp;quot;&amp;gt;CheckEquals&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si deux éléments sont égaux.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
CheckNotEquals&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si les éléments ne sont pas égaux.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
CheckNotNull&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un élément n&#039;est pas null.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
CheckNull&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un élément est null.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
CheckSame&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si deux éléments ont la même valeur.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
EqualsErrorMessage&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un message d&#039;erreur émis par l&#039;application correspond à un message d&#039;erreur spécifié.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Fail&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si une routine échoue.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
FailEquals&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un échec correspond à une condition d&#039;échec spécifiée.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
FailNotEquals&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si une condition d&#039;échec est différente d&#039;une condition d&#039;échec spécifiée.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
FailNotSame&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si deux conditions d&#039;échec ne sont pas identiques.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
NotEqualsErrorMessage&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si deux messages d&#039;erreur ne sont pas identiques.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
NotSameErrorMessage&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un message d&#039;erreur ne correspond pas à un message d&#039;erreur spécifié.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations sur la syntaxe et l&#039;utilisation de ces fonctions et des autres fonctions DUnit, voir les fichiers d&#039;aide DUnit dans &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;\source\dunit\doc (EN)&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Lanceurs de tests DUnit.==&lt;br /&gt;
&lt;br /&gt;
Un lanceur de test vous permet d&#039;exécuter vos tests indépendamment de votre application. Dans un projet test DUnit, le code du lanceur de test du framework DUnit est directement compilé dans l&#039;exécutable généré, transformant ainsi le projet test lui-même en lanceur de test. Le framework DUnit intégré fournit deux lanceurs de tests :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Le lanceur de test en mode GUI&#039;&#039;. Affiche les résultats de test de manière interactive dans une fenêtre de l&#039;interface utilisateur graphique, avec les résultats codés en couleur indiquant la réussite ou l&#039;échec des tests.&lt;br /&gt;
* &#039;&#039;Le lanceur de test en mode console&#039;&#039;. Oriente la sortie des tests vers la console.&lt;br /&gt;
&lt;br /&gt;
Le lanceur de test DUnit en mode GUI est très utile pour développer de manière interactive les tests unitaires pour le code testé. Le lanceur de test DUnit en mode GUI affiche une barre verte sur un test qui s&#039;est terminé avec succès, une barre rouge sur un test qui a échoué et une barre jaune sur un test qui a été ignoré.&lt;br /&gt;
&lt;br /&gt;
Le lanceur de test DUnit en mode console est utile lorsque vous voulez exécuter du code achevé et des tests à partir de scripts construits de manière automatisée.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation des tests unitaires|Présentation des tests unitaires]]&lt;br /&gt;
*[[Développement de tests|Développement de tests]]&lt;br /&gt;
* [http://dunit.sourceforge.net/README.html Documentation DUnit sur SourceForge (EN)]&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/dunit-interest Groupe d&#039;intérêt DUnit (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilisation de RAD Studio]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9veloppement_de_tests&amp;diff=213872</id>
		<title>Développement de tests</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9veloppement_de_tests&amp;diff=213872"/>
		<updated>2023-06-27T05:02:22Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Présentation de DUnit}}&lt;br /&gt;
&lt;br /&gt;
{{Note|DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++. Pour les développeurs C++, DUnit est le meilleur outil. C++ peut également être testé à l&#039;aide d&#039;autres frameworks comme Google Test, disponible via le [[Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]].}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nouveauté pour 2010 !&#039;&#039;&#039; [http://www.youtube.com/watch?v=nm_yq9jYckc Vidéo : {{Delphi}} Unit Tests, par Mike Rozlog] (EN)&lt;br /&gt;
&lt;br /&gt;
La structure d&#039;un test unitaire dépend en grande partie de la fonctionnalité de la classe et de la méthode que vous testez. Les experts de test unitaire génèrent des templates squelette pour le projet de test, les méthodes &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt; et &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;teardown&amp;lt;/span&amp;gt;, et les cas de test de base. Vous pouvez ensuite modifier les templates, en ajoutant la logique de test spécifique permettant de tester vos méthodes particulières.&lt;br /&gt;
&lt;br /&gt;
La section suivante décrit les procédures de création d&#039;un projet de test unitaire et d&#039;un cas de test unitaire. Suivez ces procédures dans l&#039;ordre spécifié. Vous devez créer le projet de test unitaire avant la création des cas de test associés. &#039;&#039;&#039;L&#039;expert Cas de test unitaire&#039;&#039;&#039; est seulement disponible si le projet actif en cours est un projet de test unitaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour créer un projet de test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Choisissez &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Fichier &amp;amp;gt; Nouveau &amp;amp;gt; Autre&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
# Ouvrez le dossier &#039;&#039;&#039;Test unitaire&#039;&#039;&#039;.&lt;br /&gt;
# Double-cliquez sur l&#039;élément &#039;&#039;&#039;Projet de test&#039;&#039;&#039; de la galerie. Cela démarre &#039;&#039;&#039;l&#039;expert Projet de test&#039;&#039;&#039; et affiche la page &#039;&#039;&#039;Détails du projet de test&#039;&#039;&#039;.&lt;br /&gt;
# Remplissez les informations appropriées ou acceptez les valeurs par défaut. Entrez les informations suivantes :&lt;br /&gt;
#* &#039;&#039;&#039;Projet :&#039;&#039;&#039; Entrez le nom du nouveau projet de test ou acceptez la valeur par défaut. La valeur par défaut est le nom du projet actif avec le mot &#039;&#039;Tests&#039;&#039; ajouté à la fin du nom. En l&#039;absence d&#039;un projet actif, la valeur par défaut sera &#039;&#039;UnitTest&#039;&#039; avec un numéro de séquence ajouté à la fin du nom.&lt;br /&gt;
#* &#039;&#039;&#039;Emplacement :&#039;&#039;&#039; Entrez le nom complet du dossier dans lequel sera créé le projet de test ou acceptez la valeur par défaut. La valeur par défaut est un sous-dossier nommé &#039;&#039;test&#039;&#039;, sous le dossier du projet actif. En l&#039;absence d&#039;un projet actif, la valeur par défaut sera alors le dossier par défaut des projets. Vous pouvez cliquer sur les points de suspension (&#039;&#039;&#039;...&#039;&#039;&#039;) pour afficher une boîte de dialogue &#039;&#039;&#039;Parcourir&#039;&#039;&#039; dans laquelle vous pouvez sélectionner l&#039;emplacement.&lt;br /&gt;
#* &#039;&#039;&#039;Personnalité : &#039;&#039;&#039;Sélectionnez la personnalité (langage de code) dans la liste déroulante ou acceptez la valeur par défaut. La valeur par défaut est la personnalité du projet actif.&lt;br /&gt;
# Si vous ne voulez pas que le projet de test soit ajouté à votre groupe de projets, désactivez la case à cocher &#039;&#039;&#039;Ajouter au groupe de projets&#039;&#039;&#039;.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039; pour continuer ou sur &#039;&#039;&#039;Terminer&#039;&#039;&#039; pour accepter les valeurs par défaut restantes. Si le bouton &#039;&#039;&#039;Terminer&#039;&#039;&#039; est disponible, vous pouvez cliquer dessus à partir de n&#039;importe quel endroit pour accepter les valeurs par défaut des champs restants et générer immédiatement le nouveau projet de test. Sinon, cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039; pour accéder à la page &#039;&#039;&#039;Options du framework de test&#039;&#039;&#039;.&lt;br /&gt;
# Remplissez les informations appropriées ou acceptez les valeurs par défaut. Entrez ce qui suit :&lt;br /&gt;
#* &#039;&#039;&#039;Framework de test :&#039;&#039;&#039; Pour les personnalités {{Delphi}} et C++, seul le framework DUnit est pris en charge. Vous ne pouvez donc pas modifier cette valeur.&lt;br /&gt;
#* &#039;&#039;&#039;Lanceur de test :&#039;&#039;&#039; Choisissez &#039;&#039;&#039;GUI&#039;&#039;&#039; ou &#039;&#039;&#039;Console&#039;&#039;&#039; dans la liste déroulante. Le lanceur de test en mode console oriente la sortie vers la console. Le lanceur de test en mode GUI affiche les résultats de manière interactive dans une fenêtre de l&#039;interface utilisateur graphique, avec les résultats codés en couleur indiquant la réussite ou l&#039;échec des tests.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Terminer&#039;&#039;&#039;. &#039;&#039;&#039;L&#039;expert Projet de test&#039;&#039;&#039; génère le template de projet de test. Pour {{Delphi}}, les références nécessaires du source sont également ajoutées dans le template de projet de test ; vous pouvez ignorer l&#039;étape suivante. Pour {{CBuilder}}, vous devez lier manuellement le projet de test aux classes C++ que vous voulez tester ; passez à l&#039;étape suivante.&lt;br /&gt;
#&#039;&#039;&#039;Pour {{CBuilder}} seulement :&#039;&#039;&#039; Liez le nouveau projet de test au source à tester. Pour {{CBuilder}}, vous devez lier manuellement le projet de test au code C++ que vous voulez tester. Vous pouvez utiliser l&#039;une des techniques suivantes, comme il convient :&lt;br /&gt;
#* Ajouter le code C++ directement au projet de test.&lt;br /&gt;
#* Ajouter un fichier .obj au projet de test.&lt;br /&gt;
#* Ajouter un fichier .lib (une bibliothèque statique ou une bibliothèque d&#039;importation pour une DLL) au projet de test.&lt;br /&gt;
#* Inclure le fichier en-tête qui implémente la classe à tester. Pour obtenir des instructions, consultez la section suivante &#039;&#039;&#039;Ajout de fichiers à un projet de test&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ajout de fichiers à un projet de test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Ouvrez le fichier projet de test et activez-le. Pour activer le fichier, sélectionnez-le dans le &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039; et cliquez sur le bouton &#039;&#039;&#039;Activer&#039;&#039;&#039;.&lt;br /&gt;
# Dans le &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039;, cliquez avec le bouton droit sur le nom du projet de test. Cela affiche un menu déroulant des opérations de projet.&lt;br /&gt;
# Choisissez Ajouter.... Cela affiche le navigateur de fichiers &#039;&#039;&#039;Ajouter au projet&#039;&#039;&#039;, à partir duquel vous pouvez sélectionner le fichier à inclure dans votre projet de test.&lt;br /&gt;
# Sélectionnez le fichier à ajouter et cliquez sur &#039;&#039;&#039;OK&#039;&#039;&#039;. Cette action ajoute le fichier sélectionné au projet de test.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour créer un cas de test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Cliquez sur l&#039;onglet &#039;&#039;&#039;Code&#039;&#039;&#039; du fichier contenant les classes que vous souhaitez tester. Cela active le fichier dans &#039;&#039;&#039;l&#039;éditeur de code&#039;&#039;&#039;.&lt;br /&gt;
# Choisissez &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Fichier &amp;amp;gt; Nouveau &amp;amp;gt; Autre&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
# Ouvrez le dossier &#039;&#039;&#039;Test unitaire&#039;&#039;&#039;.&lt;br /&gt;
# Double-cliquez sur l&#039;élément de la galerie &#039;&#039;&#039;Cas de test&#039;&#039;&#039;. Cela démarre &#039;&#039;&#039;l&#039;expert Cas de test&#039;&#039;&#039; et affiche la page &#039;&#039;&#039;Sélection des méthodes à tester&#039;&#039;&#039;.&lt;br /&gt;
# Entrez le nom du fichier source contenant les classes que vous souhaitez tester. Vous pouvez cliquer sur les points de suspension (&#039;&#039;&#039;...&#039;&#039;&#039;) pour afficher une boîte de dialogue &#039;&#039;&#039;Ouvrir&#039;&#039;&#039; dans laquelle vous pouvez sélectionner le fichier.&lt;br /&gt;
# Sélectionnez les classes et les méthodes pour lesquelles vous voulez créer des tests. Dans la liste &#039;&#039;&#039;Classes et méthodes disponibles&#039;&#039;&#039;, cliquez sur la case à cocher en regard d&#039;un élément pour le sélectionner ou le désélectionner. Par défaut, toutes les classes et méthodes sont sélectionnées. Vous pouvez désélectionner individuellement des méthodes dans la liste. L&#039;expert génère des templates de cas de test uniquement pour les méthodes cochées (sélectionnées). Si vous désélectionnez une classe, l&#039;expert ignore la classe entière et toutes ses méthodes, même si vous ne désélectionnez pas les méthodes. Si vous sélectionnez une classe mais ne sélectionnez pas les méthodes de cette classe, l&#039;expert génère un cas de test pour la classe, mais ne génère aucune méthode de test pour cette classe.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039; pour continuer ou sur &#039;&#039;&#039;Terminer&#039;&#039;&#039; pour accepter les valeurs par défaut restantes. Si le bouton &#039;&#039;&#039;Terminer&#039;&#039;&#039; est disponible, vous pouvez cliquer dessus à partir de n&#039;importe quel endroit pour accepter les valeurs par défaut des champs restants et générer immédiatement le nouveau cas de test. Sinon, cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039; pour accéder à la page &#039;&#039;&#039;Détails du cas de test&#039;&#039;&#039;.&lt;br /&gt;
# Remplissez les informations appropriées ou acceptez les valeurs par défaut.&lt;br /&gt;
#* &#039;&#039;&#039;Projet de test :&#039;&#039;&#039; Sélectionnez le projet de test dans la liste déroulante. La valeur par défaut est le projet de test actif. Si vous venez de créer un projet de test à l&#039;aide de &#039;&#039;&#039;l&#039;expert Projet de test&#039;&#039;&#039;, le nouveau projet de test devient alors la valeur par défaut.&lt;br /&gt;
#* &#039;&#039;&#039;Fichier :&#039;&#039;&#039; Entrez un nom de fichier pour le cas de test que vous avez créé ou acceptez la valeur par défaut. La valeur par défaut est le nom du fichier source à tester, avec le préfixe &#039;&#039;Test&#039;&#039; ajouté à la fin du nom.&lt;br /&gt;
#* &#039;&#039;&#039;Framework de test : &#039;&#039;&#039;Pour les personnalités {{Delphi}} pour Win32 et C++, seul le framework DUnit est pris en charge. Vous ne pouvez donc pas modifier cette valeur.&lt;br /&gt;
#* &#039;&#039;&#039;Classe de base :&#039;&#039;&#039; Sélectionnez la classe de base dans la liste déroulante ou acceptez la valeur par défaut. La valeur par défaut est &#039;&#039;&#039;TTestCase&#039;&#039;&#039;, c&#039;est-à-dire la classe de base &#039;&#039;&#039;TestCase&#039;&#039;&#039; par défaut. Dans la plupart des cas, vous pouvez utiliser la valeur par défaut. Toutefois, vous pouvez spécifier une classe &#039;&#039;&#039;TTestCase&#039;&#039;&#039; personnalisée que vous avez créée. En outre, si vous testez une hiérarchie d&#039;objets, vous pouvez dériver le nouveau cas de test de la classe &#039;&#039;&#039;TestCase&#039;&#039;&#039; d&#039;un objet de base de l&#039;objet en cours de test. Cela permet à une classe dérivée d&#039;hériter d&#039;un test créé pour le type de base de cette classe.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Terminer&#039;&#039;&#039;. L&#039;expert génère un fichier cas de test portant le nom spécifié.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour écrire un cas de test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Ajoutez du code aux méthodes &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;SetUp&amp;lt;/span&amp;gt; et &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TearDown&amp;lt;/span&amp;gt; dans les templates de cas de test, si nécessaire.&lt;br /&gt;
# Ajoutez des assertions aux méthodes de test.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour exécuter un cas de test dans le lanceur de test en mode GUI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Activez le fichier contenant les classes à exécuter. Sélectionnez le fichier dans le &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039;, puis cliquez sur le bouton &#039;&#039;&#039;Activer&#039;&#039;&#039;.&lt;br /&gt;
# Choisissez &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Exécuter &amp;amp;gt; Exécuter&#039;&#039;&#039;&amp;lt;/font&amp;gt;. Le &#039;&#039;&#039;lanceur de test en mode GUI&#039;&#039;&#039; démarre immédiatement au lancement de votre application.&lt;br /&gt;
# Sélectionnez un ou plusieurs tests dans la liste des tests.&lt;br /&gt;
# Cliquez sur le bouton &#039;&#039;&#039;Exécuter&#039;&#039;&#039;. Les résultats des tests apparaissent dans la fenêtre &#039;&#039;&#039;Résultats de test&#039;&#039;&#039;. Tous les tests signalés au moyen d&#039;une barre verte ont été exécutés avec succès. Tous les tests signalés en rouge ont échoué. Tous les tests signalés en jaune ont été ignorés.&lt;br /&gt;
# Examinez les résultats des tests.&lt;br /&gt;
# Corrigez les erreurs et réexécutez les tests.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation des tests unitaires|Présentation des tests unitaires]]&lt;br /&gt;
*[[Présentation de DUnit|Présentation de DUnit]]&lt;br /&gt;
*[http://www.youtube.com/watch?v=nm_yq9jYckc Vidéo : {{Delphi}} Unit Tests, par Mike Rozlog] (EN)&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilisation de RAD Studio]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=P%C3%A9riph%C3%A9riques_Android_pris_en_charge_pour_le_d%C3%A9veloppement_d%27applications&amp;diff=213870</id>
		<title>Périphériques Android pris en charge pour le développement d&#039;applications</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=P%C3%A9riph%C3%A9riques_Android_pris_en_charge_pour_le_d%C3%A9veloppement_d%27applications&amp;diff=213870"/>
		<updated>2023-06-27T05:02:22Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications mobiles Android}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Exigences logicielles Android==&lt;br /&gt;
&lt;br /&gt;
{{Variables|Product}} prend en charge le développement sur les périphériques ARMv7 et AArch64 qui exécutent les versions du système d&#039;exploitation Android présentées dans [[Plates-formes cible prises en charge|Plates-formes cible prises en charge]].&lt;br /&gt;
&lt;br /&gt;
==Exigences matérielles Android==&lt;br /&gt;
&lt;br /&gt;
La plupart des matériels Android sont pris en charge. Les exigences spécifiques sont les suivantes :&lt;br /&gt;
&lt;br /&gt;
* [http://www.arm.com/products/processors/cortex-a/index.php Processeur de série ARM Cortex-A ]&lt;br /&gt;
* Instructions ARMv7 ou ARM64&lt;br /&gt;
* Technologie NEON&lt;br /&gt;
* GPU&lt;br /&gt;
&lt;br /&gt;
RAD Studio cible l&#039;architecture de CPU la plus courante pour des performances optimales sur le plus grand nombre de périphériques possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Informations détaillées :&#039;&#039;&#039; Les CPU basés sur des instructions ARM sont créés par un grand nombre de fabricants en fonction de différents ensembles de spécifications. ARM est la technologie dominante pour les matériels mobiles. Le jeu d&#039;instructions (ou coeur) ARMv7 spécifie la micro-architecture utilisée par le CPU. La famille de CPU implémentant des instructions ARMv7 est appelée Cortex-A. La plupart de ces CPU incluent également la technologie NEON.&lt;br /&gt;
Certains périphériques Android utilisent à la place l&#039;architecture Intel ATOM, qui est incompatible avec FireMonkey. Les applications RAD Studio requièrent cette architecture de CPU spécifique car les apps RAD Studio recompilent le code machine pour des performances optimales. En cela elles diffèrent des autres apps Android qui sont développées avec Java et recompilent en bytecode Dalvik, puis s&#039;exécutent sur la machine virtuelle Dalvik.&lt;br /&gt;
La plupart des périphériques Android ont un GPU (Graphics Processing Unit). Il arrive souvent que le GPU soit combiné au CPU dans une configuration SoC (système sur puce). Toutes ces configurations sont normalement prises en charge.&lt;br /&gt;
&lt;br /&gt;
===Périphériques Android basés sur Intel===&lt;br /&gt;
&lt;br /&gt;
Android KitKat et les versions supérieures s&#039;exécutant sur les périphériques Android avec des CPU Intel incluent une bibliothèque d&#039;émulation appelée &#039;&#039;&#039;libhoudini&#039;&#039;&#039;. La bibliothèque de traduction est invoquée automatiquement par le système d&#039;exploitation, et permet au CPU Intel d&#039;interpréter et d&#039;exécuter des binaires compilés pour les CPU ARM.&lt;br /&gt;
&lt;br /&gt;
Les applications FireMonkey sont généralement compatibles avec la bibliothèque &#039;&#039;&#039;libhoudini&#039;&#039;&#039;. Aucun travail supplémentaire n&#039;est nécessaire pour ajouter la prise en charge pour l&#039;émulation.&lt;br /&gt;
&lt;br /&gt;
===Débogage===&lt;br /&gt;
&lt;br /&gt;
Nous recommandons les périphériques suivants pour le débogage des applications Android 64 bits. Les fabricants et les types de périphériques Android sont nombreux. Par conséquent, tous les périphériques ne présentent pas la même capacité à déboguer une application. Nous vous conseillons de tester un périphérique pour vérifier s&#039;il prend en charge le débogage. En général, les périphériques Android disponibles en stock, non modifiés et fournis par les principaux fournisseurs le font. Par contre, les périphériques Android ayant subi des modifications matérielles inhabituelles peuvent ne pas prendre correctement en charge le débogage. Nous recommandons la liste non exhaustive de périphériques suivants pour le débogage des applications Android 64 bits.  &lt;br /&gt;
&lt;br /&gt;
Pour déboguer une application 64 bits, votre périphérique doit exécuter une version 64 bits du système d&#039;exploitation Android. &lt;br /&gt;
&lt;br /&gt;
{{Note| Le fait qu&#039;un périphérique apparaisse dans cette liste ne garantit pas qu&#039;il prend en charge le débogage. En effet, cette capacité varie d&#039;un périphérique à l&#039;autre, en fonction des systèmes d&#039;exploitation et des releases.}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Périphérique&lt;br /&gt;
! Version Android&lt;br /&gt;
! Nombre de bits du système d&#039;exploitation&lt;br /&gt;
! Débogage des apps 32 bits&lt;br /&gt;
! Débogage des apps 64 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 7&#039;&#039;&#039; (version 2)&lt;br /&gt;
|&lt;br /&gt;
6.0.1&lt;br /&gt;
|&lt;br /&gt;
32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
N/A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 9&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
5.0.1&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 9&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
7.1.1&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Pixel&#039;&#039;&#039; (release originale) &lt;br /&gt;
|&lt;br /&gt;
10&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Essential Phone 1&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
10&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 6P&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
8.1.0&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Pixel 3XL&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
10&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 5&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
6.0.1&lt;br /&gt;
|&lt;br /&gt;
32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Apps 64 bits sur matériel 32 bits===&lt;br /&gt;
&lt;br /&gt;
Pour exécuter des applications Android 64 bits sur votre périphérique, ce dernier doit remplir deux conditions :&lt;br /&gt;
&lt;br /&gt;
# Le téléphone doit être équipé d&#039;un CPU 64 bits&lt;br /&gt;
# La version installée d&#039;Android doit être 64 bits. Android version 5 et supérieure prennent en charge 64 bits. &lt;br /&gt;
&lt;br /&gt;
Cependant, certains périphériques ne sont pas configurés pour utiliser le mode 64 bits. Si le périphérique ne prend pas en charge une application 64 bits native, un message d&#039;erreur s&#039;affiche. &lt;br /&gt;
&lt;br /&gt;
Lorsque vous tentez de déboguer une app 64 bits depuis l&#039;EDI sur un périphérique cible qui ne prend pas en charge une application 64 bits, un message d&#039;erreur s&#039;affiche.  &lt;br /&gt;
&lt;br /&gt;
===Comment vérifier que votre périphérique Android peut exécuter des apps 64 bits ?===&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier que le CPU de votre périphérique Android peut exécuter des apps 64 bits, vous pouvez utiliser des applications existantes dans le Google Play Store, par exemple :&lt;br /&gt;
&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=com.finalwire.aida64 AIDA64] - Vérifie la page CPU&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=com.cpuid.cpu_z CPU-Z] - Vérifie la page Système&lt;br /&gt;
&lt;br /&gt;
Si elle indique que votre CPU comporte un jeu d&#039;instructions ARMv8-A 64 bits, mais qu&#039;il est configuré en mode 32 bits, cela implique que la version Android n&#039;est pas 64 bits. En cas de non-concordance, le message d&#039;erreur INSTALL_FAILED_NO_MATCHING_ABIS s&#039;affiche.&lt;br /&gt;
&lt;br /&gt;
==Test pour savoir si votre périphérique Android est pris en charge==&lt;br /&gt;
&lt;br /&gt;
L&#039;appli &#039;&#039;&#039;AIDA64&#039;&#039;&#039; fournit un moyen rapide et facile de tester la compatibilité de votre système. Si vous n&#039;êtes pas certain que votre périphérique a les fonctionnalités requises, vous pouvez la télécharger depuis le Google Play Store et l&#039;exécuter sur votre périphérique :  [https://play.google.com/store/apps/details?id=com.finalwire.aida64 AIDA64]&lt;br /&gt;
&#039;&#039;&#039;AIDA64&#039;&#039;&#039; est une appli gratuite (avec publicités) et ne requiert pas de privilèges spéciaux pour son exécution.&lt;br /&gt;
&lt;br /&gt;
Pour la partie CPU, vous devriez voir un écran similaire à celui-ci :&lt;br /&gt;
&lt;br /&gt;
[[File:AIDA64.png|300px|link=]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AIDA64&#039;&#039;&#039; vous informe précisément des fonctionnalités de CPU prises en charge par votre périphérique. Spécifiquement, &#039;&#039;&#039;AIDA64&#039;&#039;&#039; liste toutes les fonctionnalités CPU possibles, fournit les définitions de ces fonctionnalités, et indique si votre périphérique particulier prend en charge chacune d&#039;elles. &lt;br /&gt;
&lt;br /&gt;
Si vous voyez :&lt;br /&gt;
&lt;br /&gt;
* ABI pris en charge affichant ARMv7 ou ARM64 AArch64&lt;br /&gt;
* Version de système d&#039;exploitation répertoriée dans [[Plates-formes cible prises en charge|Plates-formes cible prises en charge]] (voir la section relative à  Android)&lt;br /&gt;
* NEON est indiqué comme étant pris en charge&lt;br /&gt;
&lt;br /&gt;
Alors le périphérique devrait fonctionner.&lt;br /&gt;
&lt;br /&gt;
Pourquoi utiliser &#039;&#039;&#039;AIDA64&#039;&#039;&#039; ? Certaines applications peuvent uniquement être exécutées avec des chipsets spécifiques, tandis que d&#039;autres requièrent la prise en charge de NEON pour s&#039;exécuter correctement. Vous pouvez désormais tester votre périphérique de manière à disposer des informations dont vous avez besoin pour prendre d&#039;autres décisions d&#039;achat d&#039;apps.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, si vous êtes un développeur écrivant des apps Android dépendant de NEON, vous voudrez peut-être orienter vos utilisateurs vers cette app pour qu&#039;ils puissent découvrir si leur périphérique particulier prend en charge NEON avant d&#039;acheter votre app. Vous pourrez ainsi contribuer à réduire la confusion de l&#039;utilisateur et les demandes de retour.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|Embarcadero n&#039;a pas d&#039;informations sur l&#039;origine de l&#039;application et ne peut pas garantir que les apps ne contiennent pas de programme malveillant.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Prérequis de plate-forme FireMonkey|Prérequis de plate-forme {{FM}}]]&lt;br /&gt;
* [[Configuration de votre système pour détecter votre périphérique Android|Configuration de votre système pour détecter votre périphérique Android]]&lt;br /&gt;
* [[Exécution de votre application Android sur un périphérique Android|Exécution de votre application Android sur un périphérique Android]]&lt;br /&gt;
* [[Plates-formes cible prises en charge|Plates-formes cible supportées]]&lt;br /&gt;
&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9sentation_des_tests_unitaires&amp;diff=213879</id>
		<title>Présentation des tests unitaires</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9sentation_des_tests_unitaires&amp;diff=213879"/>
		<updated>2023-06-27T05:02:16Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Présentation de DUnit}}&lt;br /&gt;
{{Note|DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++. Pour les développeurs C++, DUnit est le meilleur outil. C++ peut également être testé à l&#039;aide d&#039;autres frameworks comme Google Test, disponible via le [[Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]].}}&lt;br /&gt;
&#039;&#039;&#039;Nouveauté pour 2010 !&#039;&#039;&#039; [http://www.youtube.com/watch?v=nm_yq9jYckc Vidéo : {{Delphi}} Unit Tests, par Mike Rozlog]&lt;br /&gt;
&lt;br /&gt;
{{Variables|Product}} intègre un framework de test à code source libre, &#039;&#039;DUnit&#039;&#039;, pour le développement et l&#039;exécution de cas de test automatisés pour vos applications. Le framework DUnit est disponible pour {{Delphi}} et C++. Ce framework simplifie le processus de développement de tests pour les classes et méthodes de vos applications. L&#039;utilisation de tests unitaires avec le refactoring permet d&#039;améliorer la stabilité de vos applications. Tester un ensemble standard de tests à chaque fois qu&#039;une petite modification est effectuée à travers le code permettra de voir les problèmes tôt dans le cycle de développement.&lt;br /&gt;
&lt;br /&gt;
Le framework de test DUnit est basé sur le framework de test JUnit et il partage une grande partie des fonctionnalités.&lt;br /&gt;
&lt;br /&gt;
Cette rubrique comporte les informations suivantes :&lt;br /&gt;
&lt;br /&gt;
* Ce qui est installé&lt;br /&gt;
* Projets de test&lt;br /&gt;
* Cas de test&lt;br /&gt;
* Fixtures de test&lt;br /&gt;
&lt;br /&gt;
==Installation de DUnit==&lt;br /&gt;
&lt;br /&gt;
Pour installer la fonctionnalité DUnit, procédez comme suit :&lt;br /&gt;
&lt;br /&gt;
# Sélectionnez {{Menu|Outils &amp;amp;gt; Gérer les plates-formes}} pour ouvrir le &#039;&#039;&#039;Gestionnaire de fonctionnalités&#039;&#039;&#039;.&lt;br /&gt;
# Sur l&#039;onglet &#039;&#039;&#039;Autres options&#039;&#039;&#039;, cochez la fonctionnalité  Frameworks de test unitaire DUnit pour l&#039;ajouter à votre installation de {{Product}}.&lt;br /&gt;
# Sélectionnez &#039;&#039;&#039;Appliquer&#039;&#039;&#039; pour appliquer les modifications sélectionnées.&lt;br /&gt;
&lt;br /&gt;
Une fois les modifications appliquées, le &#039;&#039;&#039;[[Gestionnaire de fonctionnalités|Gestionnaire de fonctionnalités]]&#039;&#039;&#039; affiche un écran &#039;&#039;&#039;Opération terminée&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Ce qui est installé==&lt;br /&gt;
&lt;br /&gt;
Par défaut, le framework DUnit est installé pendant l&#039;installation complète de {{Variables|Product}} ou pendant l&#039;installation de l&#039;une des personnalités individuelles ({{Delphi}} ou {{CBuilder}}).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DUnit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pour {{Delphi}} et {{CBuilder}}, le framework DUnit est installé automatiquement par l&#039;installateur de {{Variables|Product}}. Vous pouvez trouver de nombreuses ressources DUnit dans le répertoire &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;\source\DUnit&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;, sous le répertoire racine d&#039;installation. Ces ressources comprennent les fichiers source, la documentation et les exemples de test.&lt;br /&gt;
&lt;br /&gt;
Pour {{CBuilder}}, les fichiers de bibliothèque et d&#039;en-tête C++ suivants sont également fournis pour un usage en tant que projets de test C++ :&lt;br /&gt;
&lt;br /&gt;
* GUITestRunner.hpp&lt;br /&gt;
* XMLTestRunner.hpp&lt;br /&gt;
* TextTestRunner.hpp&lt;br /&gt;
* TestFramework.hpp&lt;br /&gt;
* DUnitMainForm.hpp&lt;br /&gt;
* DUnitAbout.hppdir&lt;br /&gt;
* dunitrtl.lib&lt;br /&gt;
&lt;br /&gt;
{{Note| Ces fichiers ne font pas partie de la distribution DUnit standard. Ces fichiers sont préconstruits et inclus avec {{CBuilder}} par souci de commodité.}}&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;utilisation de DUnit, incluez en général au moins un cas de test et une ou plusieurs fixtures de test. Les cas de test comprennent habituellement une ou plusieurs instructions d&#039;assertions pour vérifier les fonctionnalités de la classe à tester.&lt;br /&gt;
&lt;br /&gt;
DUnit est sous licence de [https://www.mozilla.org/en-US/MPL/1.1/ Mozilla Public License Version 1.1 (MPL)].&lt;br /&gt;
&lt;br /&gt;
==Projets de test==&lt;br /&gt;
&lt;br /&gt;
Un projet de test encapsule un ou plusieurs cas de test et est représenté par un noeud dans le &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039; de l&#039;EDI. {{Variables|Product}} fournit &#039;&#039;&#039;l&#039;expert Projet de test&#039;&#039;&#039;, que vous pouvez utiliser pour créer un projet de test de base. Lorsqu&#039;un projet de test est associé à un projet de code, vous pouvez créer des cas de test et les ajouter au projet de test.&lt;br /&gt;
&lt;br /&gt;
==Cas de test==&lt;br /&gt;
&lt;br /&gt;
Dans un projet de test unitaire typique, chaque classe à tester a une classe de test correspondante. Toutefois, ce n&#039;est pas nécessaire. La classe de test est également désignée sous le nom &#039;&#039;cas de test&#039;&#039;. Selon le framework utilisé, la classe de test peut être dérivée d&#039;une classe de base de cas de test spécifique. En général, un cas de test comporte un jeu d&#039;une ou de plusieurs méthodes qui correspondent à l&#039;une des méthodes de la classe à tester. Plusieurs cas de test peuvent être inclus dans un projet de test. Cette capacité de grouper et de combiner les tests dans les cas de test et les cas de test dans des projets de test est ce qui différencie les cas de test des manières plus simples de tester, comme l&#039;utilisation des instructions d&#039;impression ou l&#039;évaluation des expressions du débogueur. Chaque cas de test et projet de test est réutilisable et réexécutable, et peut être automatisé à travers l&#039;utilisation de fichiers batch, de scripts de construction ou d&#039;autres types de systèmes de test.&lt;br /&gt;
&lt;br /&gt;
Habituellement, il est conseillé de créer les tests dans un projet distinct du projet contenant les fichiers source. De cette manière, vous ne devez pas passer par le processus qui consiste à retirer vos tests de l&#039;application de production. {{Variables|Product}} fournit &#039;&#039;&#039;l&#039;expert Cas de test&#039;&#039;&#039;  pour vous aider à créer des cas de test de base, que vous pouvez ensuite personnaliser à votre guise.&lt;br /&gt;
&lt;br /&gt;
==Fixtures de test==&lt;br /&gt;
&lt;br /&gt;
Le terme &#039;&#039;fixture de test&#039;&#039; se réfère à une combinaison de plusieurs cas de test, qui teste de manière logique des fonctionnalités associées. Vous pouvez définir les fixtures de test dans vos cas de test. Généralement, vous intanciez vos objets, initialisez les variables, configurez les connexions aux bases de données et exécutez les tâches de maintenance dans les sections &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;SetUp&amp;lt;/span&amp;gt; et &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TearDown&amp;lt;/span&amp;gt;. Tant que vos tests agissent sur le même objet, vous pouvez inclure un nombre de tests dans n&#039;importe quel fixture de test donné.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation de DUnit|Présentation de DUnit]]&lt;br /&gt;
*[[Développement de tests|Développement de tests]]&lt;br /&gt;
*[http://www.youtube.com/watch?v=nm_yq9jYckc Vidéo : {{Delphi}} Unit Tests, par Mike Rozlog] (EN)&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilisation de RAD Studio]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Test_des_applications_-_Index&amp;diff=213877</id>
		<title>Test des applications - Index</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Test_des_applications_-_Index&amp;diff=213877"/>
		<updated>2023-06-27T05:02:16Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Etapes du développement d&#039;un projet}}&lt;br /&gt;
Le test unitaire fait partie intégrante du développement d&#039;applications fiables. Les rubriques suivantes évoquent les caractéristiques des tests unitaires qui sont comprises dans {{Variables|Product}}.&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation de DUnitX|Présentation de DUnitX]]&lt;br /&gt;
** [[Développement de tests avec DUnitX|Développement de tests avec DUnitX]]{{f|radstudio|&lt;br /&gt;
** [[Comment convertir les tests DUnit en DUnitX|Comment convertir les tests DUnit en DUnitX]]&lt;br /&gt;
&lt;br /&gt;
* [[Présentation de DUnit|Présentation de DUnit]] &lt;br /&gt;
&lt;br /&gt;
: {{Note| DUnitX est un framework de test unitaire moderne. Il est préférable d&#039;utiliser DUnitX plutôt que DUnit. DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++.}}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
** [[Présentation des tests unitaires|Présentation des tests unitaires]]&lt;br /&gt;
** [[Développement de tests|Développement de tests]]&amp;lt;br /&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Index des rubriques]]&lt;br /&gt;
[[Category:Utilisation de RAD Studio]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Ex%C3%A9cution_et_d%C3%A9bogage_de_votre_application_Android_sur_un_p%C3%A9riph%C3%A9rique_Android_%C3%A0_distance&amp;diff=213875</id>
		<title>Exécution et débogage de votre application Android sur un périphérique Android à distance</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Ex%C3%A9cution_et_d%C3%A9bogage_de_votre_application_Android_sur_un_p%C3%A9riph%C3%A9rique_Android_%C3%A0_distance&amp;diff=213875"/>
		<updated>2023-06-27T05:02:16Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications mobiles Android}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
Cette page explique comment déboguer une application Android sur un périphérique Android connecté en réseau. Cette méthode est également connue en tant que {{Code|ADB over network}} ou {{Code|TCP/IP debugging}}.&lt;br /&gt;
Vous devez avoir lu [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]] et compris les étapes nécessaires pour configurer et utiliser un périphérique Android pour le développement.&lt;br /&gt;
&lt;br /&gt;
Les avantages de cette méthode sont notamment les suivants :&lt;br /&gt;
&lt;br /&gt;
* Connexion sans fil au périphérique Android, aucun câble USB nécessaire (lorsque les périphériques ne sont pas associés à une racine, le câble USB est nécessaire pour changer le mode de débogage).&lt;br /&gt;
* Simplifie le partage d&#039;un périphérique Android pour le débogage entre développeurs.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Toutes les commandes ADB sur cette page fonctionnent si vous avez seulement un périphérique Android connecté à votre machine. Si vous avez plus d&#039;un périphérique Android connecté, voir [http://developer.android.com/tools/help/adb.html#directingcommands Android Help: Directing Commands (EN)] pour connaître la méthode appropriée pour l&#039;exécution des commandes ADB.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Les applications Android continuent à s&#039;exécuter en arrière-plan, même si elles ne sont pas visibles pour les utilisateurs. Comme l&#039;application continue à s&#039;exécuter, on peut avoir l&#039;impression que le débogueur est en panne alors qu&#039;il s&#039;est simplement déconnecté de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
==Activation du débogage TCP/IP sur le périphérique Android==&lt;br /&gt;
&lt;br /&gt;
===Exigences===&lt;br /&gt;
&lt;br /&gt;
* Le périphérique Android doit être connecté à un réseau sans fil identique à (ou faisant partie de) celui auquel votre machine de développement est connectée.&lt;br /&gt;
&lt;br /&gt;
Si votre périphérique Android &#039;&#039;&#039;n&#039;est pas associé à une racine&#039;&#039;&#039;, vous avez également besoin de ce qui suit :&lt;br /&gt;
&lt;br /&gt;
* Une machine sur laquelle est installé le SDK Android.&lt;br /&gt;
* Un câble USB.&lt;br /&gt;
* Le périphérique Android doit être reconnu en tant que &#039;&#039;&#039;périphérique ADB&#039;&#039;&#039; sur la machine.&lt;br /&gt;
&lt;br /&gt;
Si votre périphérique Android &#039;&#039;&#039;est associé à une racine&#039;&#039;&#039;, vous avez besoin de ce qui suit :&lt;br /&gt;
&lt;br /&gt;
* L&#039;une des conditions suivantes :&lt;br /&gt;
** Un paramètre de menu activant l&#039;option {{Code|TCP/IP debugging mode}} (disponible sur certaines ROM). Il se trouve généralement dans le menu des réglages du développeur, et il peut s&#039;appeler {{Code|ADB over network}}).&lt;br /&gt;
** Une application émulateur de terminal installée sur votre périphérique (comme [https://play.google.com/store/apps/details?id=jackpal.androidterm&amp;amp;hl=en Terminal Emulator for Android]).&lt;br /&gt;
** Une application qui active l&#039;option {{Code|TCP/IP debugging mode}} (par exemple [https://play.google.com/store/apps/details?id=net.wiagames.adbon&amp;amp;rdid=net.wiagames.adbon ADB over network]).&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Votre machine de développement peut être connectée au réseau sans fil ou via un câble Ethernet, tant qu&#039;elle se trouve sur le même réseau que le périphérique Android.&lt;br /&gt;
&lt;br /&gt;
===Etapes===&lt;br /&gt;
&lt;br /&gt;
Si votre périphérique Android &#039;&#039;&#039;n&#039;est pas associé à une racine&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
# Connectez le périphérique Android à la machine via un câble USB.&lt;br /&gt;
# Ouvrez un terminal, tel que {{Path|cmd.exe}}.&lt;br /&gt;
# Allez au dossier {{Path|platform-tools}} de votre SDK Android :&lt;br /&gt;
#: {{#tag:source|cd &amp;quot;{{PublicDocumentsPath}}\CatalogRepository\&amp;amp;lt;dossier SDK Android&amp;amp;gt;\platform-tools&amp;quot;|lang=winbatch|enclose=none}}&lt;br /&gt;
# Exécutez cette commande :&lt;br /&gt;
#: {{#tag:source|adb tcpip 5555|lang=winbatch|enclose=none}}&lt;br /&gt;
#:: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Remplacer {{Code|5555}} avec le port sur lequel le périphérique va écouter les connexions entrantes.&lt;br /&gt;
# Si vous le souhaitez, vous pouvez déconnecter le périphérique Android de la machine après avoir exécuté cette commande.&lt;br /&gt;
&lt;br /&gt;
Si votre périphérique Android &#039;&#039;&#039;est associé à une racine&#039;&#039;&#039;, effectuez l&#039;une des actions suivantes pour activer le mode de débogage TCP/IP :&lt;br /&gt;
&lt;br /&gt;
* Activez le {{Code|TCP/IP debugging mode}} dans le menu des réglages du développeur sur votre périphérique (cette option peut s&#039;appeler {{Code|ADB over network}}).&lt;br /&gt;
* Exécutez le code suivant dans un émulateur de terminal :&lt;br /&gt;
*:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;su&amp;lt;/source&amp;gt;&lt;br /&gt;
*:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;setprop service.adb.tcp.port 5555&amp;lt;/source&amp;gt;&lt;br /&gt;
*:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;stop adbd&amp;lt;/source&amp;gt;&lt;br /&gt;
*:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;start adbd&amp;lt;/source&amp;gt;&lt;br /&gt;
* Utilisez une application qui active le débogage TCP/IP.&lt;br /&gt;
&lt;br /&gt;
==Connexion au périphérique Android==&lt;br /&gt;
&lt;br /&gt;
Pour connecter le périphérique Android à partir de votre machine de développement, exécutez la commande suivante dans le répertoire &amp;quot;platform-tools&amp;quot; de votre installation du SDK Android : {{Code|adb connect {{Placeholder|IPAddress}}:{{Placeholder|portNumber}}}} (par exemple : {{Code|adb connect 192.168.1.110:5555}}). {{Placeholder|IPAddress}} est l&#039;adresse IP de votre périphérique. Voici plusieurs moyens de trouver l&#039;adresse IP de votre périphérique :&lt;br /&gt;
&lt;br /&gt;
* Accédez au menu de votre périphérique (généralement : {{Code| Settings &amp;amp;gt; Wi-Fi &amp;amp;gt; Advanced Wi-Fi}}, mais cela peut varier en fonction de la version du système d&#039;exploitation de votre périphérique ou du fabricant).&lt;br /&gt;
* Exécutez la commande suivante dans le répertoire &amp;quot;platform-tools&amp;quot; de votre installation du SDK Android : {{Code|adb shell netcfg}}. Pour cela, votre périphérique doit être connecté via un câble USB.&lt;br /&gt;
* Trouvez l&#039;adresse IP de votre périphérique dans la page des paramètres de votre routeur réseau.&lt;br /&gt;
&lt;br /&gt;
Si la connexion réussit, la fenêtre de commande affiche : &amp;quot;connected to {{Placeholder|IPAddress}}:{{Placeholder|portNumber}}&amp;quot;. Vous pouvez utiliser la commande {{Code|adb devices}} pour afficher une liste des périphériques ADB connectés. Le périphérique Android connecté doit maintenant apparaître dans la &#039;&#039;&#039;[[Fenêtre Projets|fenêtre Projets]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Déconnexion à partir d&#039;un périphérique Android à distance==&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez vous déconnecter du périphérique Android, [[#Réinitialisaiton du mode débogage sur le périphérique Android|réinitialisez simplement le mode débogage]] sur le périphérique. Autrement, vous pouvez exécuter le code suivant sur la machine de développement : {{Code|adb disconnect {{Placeholder|IPAddress}}:{{Placeholder|portNumber}}}}.&lt;br /&gt;
&lt;br /&gt;
==Réinitialisation du mode débogage sur le périphérique Android==&lt;br /&gt;
&lt;br /&gt;
Sur un périphérique Android, le mode débogage est réinitialisé chaque fois que le périphérique est redémarré. Si vous souhaitez réinitialiser le mode débogage sans redémarrer le périphérique, procédez de l&#039;une des manières suivantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Exécutez la commande {{Code|adb usb}} sur la machine distante à laquelle le périphérique Android est connecté via un câble USB. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Exécutez le code suivant dans un émulateur de terminal sur le périphérique :&amp;lt;/li&amp;gt;&lt;br /&gt;
 style=&amp;quot;list-style: none; display: inline&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 setprop service.adb.tcp.port -1&lt;br /&gt;
 stop adbd&lt;br /&gt;
 start adbd&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Création d&#039;une app Android|Création d&#039;une app Android]]&lt;br /&gt;
* [[Exécution de votre application Android sur un périphérique Android|Exécution de votre application Android sur un périphérique Android]]&lt;br /&gt;
* [[Débogage des applications multi-périphériques|Débogage des applications multi-périphériques]]&lt;br /&gt;
* [[Périphériques Android pris en charge pour le développement d&#039;applications|Périphériques Android pris en charge pour le développement d&#039;applications]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:XE8]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9sentation_de_DUnit&amp;diff=213873</id>
		<title>Présentation de DUnit</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9sentation_de_DUnit&amp;diff=213873"/>
		<updated>2023-06-27T05:02:16Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Test des applications - Index}}&lt;br /&gt;
{{Attention| N&#039;oubliez pas que &#039;&#039;&#039;DUnit ne prend pas en charge l&#039;interface utilisateur graphique de {{FM}} &#039;&#039;&#039; pour visualiser votre sortie ; utilisez à la place [[Présentation de DUnitX|DUnitX]].}}&lt;br /&gt;
{{Note|DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++. Pour les développeurs C++, DUnit est le meilleur outil. C++ peut également être testé à l&#039;aide d&#039;autres frameworks comme Google Test, disponible via le [[Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]].}}&lt;br /&gt;
&lt;br /&gt;
DUnit est un framework de test unitaire open-source basé sur le framework de test JUnit. Le framework DUnit vous permet de construire et d&#039;exécuter des tests sur des applications {{Delphi}} Win32. L&#039;intégration du framework DUnit dans {{Variables|Product}} vous permet de développer et d&#039;exécuter des tests sur des applications {{Delphi}} Win32 et {{CBuilder}}.&lt;br /&gt;
&lt;br /&gt;
Le framework de test DUnit propose son propre ensemble de méthodes pour les conditions de test. Les méthodes représentent des assertions communes. Vous pouvez également créer vos propres assertions personnalisées. Vous pouvez utiliser les méthodes proposées pour tester un grand nombre de conditions.&lt;br /&gt;
&lt;br /&gt;
Voir également la page d&#039;accueil DUnit sur [http://dunit.sourceforge.net/ http://dunit.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
==Installation de DUnit==&lt;br /&gt;
&lt;br /&gt;
Pour installer la fonctionnalité DUnit, procédez comme suit :&lt;br /&gt;
&lt;br /&gt;
# Sélectionnez {{Menu|Outils &amp;amp;gt; Gérer les plates-formes}} pour ouvrir le &#039;&#039;&#039;Gestionnaire de fonctionnalités&#039;&#039;&#039;.&lt;br /&gt;
# Sur l&#039;onglet &#039;&#039;&#039;Autres options&#039;&#039;&#039;, cochez la fonctionnalité Frameworks de test unitaire DUnit pour l&#039;ajouter à votre installation de {{Product}}.&lt;br /&gt;
# Sélectionnez &#039;&#039;&#039;Appliquer&#039;&#039;&#039; pour appliquer les modifications sélectionnées.&lt;br /&gt;
&lt;br /&gt;
Une fois les modifications appliquées, le &#039;&#039;&#039;[[Gestionnaire de fonctionnalités|Gestionnaire de fonctionnalités]]&#039;&#039;&#039; affiche un écran &#039;&#039;&#039;Opération terminée&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Développement de tests DUnit {{Delphi}}==&lt;br /&gt;
&lt;br /&gt;
Chaque test DUnit implémente une classe de type &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;TTestCase&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant de programme {{Delphi}} Win32 définit deux fonctions qui effectuent une simple addition et soustraction :&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 unit CalcUnit;&lt;br /&gt;
 &lt;br /&gt;
 interface&lt;br /&gt;
 &lt;br /&gt;
 type&lt;br /&gt;
 &lt;br /&gt;
 { TCalc }&lt;br /&gt;
 &lt;br /&gt;
   TCalc = class&lt;br /&gt;
   public&lt;br /&gt;
     function Add(x, y: Integer): Integer;&lt;br /&gt;
     function Sub(x, y: Integer): Integer;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 { TCalc }&lt;br /&gt;
 &lt;br /&gt;
 function TCalc.Add(x, y: Integer): Integer;&lt;br /&gt;
 begin&lt;br /&gt;
   Result := x + y;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 function TCalc.Sub(X, Y: Integer): Integer;&lt;br /&gt;
 begin&lt;br /&gt;
   Result := x - y;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant montre le fichier squelette des cas de test qu&#039;il est nécessaire de modifier pour tester les deux fonctions, &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;Add&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt; et &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;Sub&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;, du code précédent.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 unit TestCalcUnit;&lt;br /&gt;
 &lt;br /&gt;
 interface&lt;br /&gt;
 &lt;br /&gt;
 uses&lt;br /&gt;
   TestFramework, CalcUnit;&lt;br /&gt;
 type&lt;br /&gt;
   // Test methods for class TCalc&lt;br /&gt;
   TestTCalc = class(TTestCase)&lt;br /&gt;
   strict private&lt;br /&gt;
     aTCalc: TCalc;&lt;br /&gt;
   public&lt;br /&gt;
     procedure SetUp; override;&lt;br /&gt;
     procedure TearDown; override;&lt;br /&gt;
   published&lt;br /&gt;
     procedure TestAdd;&lt;br /&gt;
     procedure TestSub;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 procedure TestTCalc.SetUp;&lt;br /&gt;
 begin&lt;br /&gt;
   aTCalc := TCalc.Create;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 procedure TestTCalc.TearDown;&lt;br /&gt;
 begin&lt;br /&gt;
   aTCalc := nil;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 procedure TestTCalc.TestAdd;&lt;br /&gt;
 var&lt;br /&gt;
   _result: System.Integer;&lt;br /&gt;
   y: System.Integer;&lt;br /&gt;
   x: System.Integer;&lt;br /&gt;
 begin&lt;br /&gt;
   _result := aTCalc.Add(x, y);&lt;br /&gt;
   // TODO: Add testcode here&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 procedure TestTCalc.TestSub;&lt;br /&gt;
 var&lt;br /&gt;
   _result: System.Integer;&lt;br /&gt;
   y: System.Integer;&lt;br /&gt;
   x: System.Integer;&lt;br /&gt;
 begin&lt;br /&gt;
   _result := aTCalc.Sub(x, y);&lt;br /&gt;
   // TODO: Add testcode here&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 initialisation&lt;br /&gt;
   // Register any test cases with the test runner&lt;br /&gt;
   RegisterTest(TestTCalc.Suite);&lt;br /&gt;
 end.&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Développement de tests DUnit C++==&lt;br /&gt;
&lt;br /&gt;
Chaque test DUnit implémente une classe de type &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;TTestCase&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant (programme et fichier d&#039;en-tête C++ Win32) définit deux fonctions qui effectuent une simple addition et soustraction :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 #ifndef Unit7H&lt;br /&gt;
 #define Unit7H&lt;br /&gt;
 //-------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 class TCalc&lt;br /&gt;
 {&lt;br /&gt;
 public:&lt;br /&gt;
   int Add(int x, int y);&lt;br /&gt;
   int Sub(int x, int y);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #endif&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant (TestUnit7.cpp) contient un cas de test pour la classe TCalc. L&#039;expert a généré cet exemple, mais l&#039;utilisateur devrait écrire des tests à titre d&#039;exercice des fonctions &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;Add&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt; et &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;Sub&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;. L&#039;exemple illustre la structure DUnit des tests unitaires.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 #include &amp;lt;vcl.h&amp;gt;&lt;br /&gt;
 #pragma hdrstop&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;lt;TestFramework.hpp&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 class TTestTCalc : public TTestCase&lt;br /&gt;
 {&lt;br /&gt;
 public:&lt;br /&gt;
   __fastcall virtual TTestTCalc(AnsiString name) : TTestCase(name) {}&lt;br /&gt;
   virtual void __fastcall SetUp();&lt;br /&gt;
   virtual void __fastcall TearDown();&lt;br /&gt;
 &lt;br /&gt;
 __published:&lt;br /&gt;
   void __fastcall TestAdd();&lt;br /&gt;
   void __fastcall TestSub();&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 void __fastcall TTestTCalc::SetUp()&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void __fastcall TTestTCalc::TearDown()&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void __fastcall TTestTCalc::TestAdd()&lt;br /&gt;
 {&lt;br /&gt;
   // int Add(int x, int y)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void __fastcall TTestTCalc::TestSub()&lt;br /&gt;
 {&lt;br /&gt;
   // int Sub(int x, int y)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 static void registerTests()&lt;br /&gt;
 {&lt;br /&gt;
   _di_ITestSuite iSuite;&lt;br /&gt;
   TTestSuite* testSuite = new TTestSuite(&amp;quot;Testing Unit7.h&amp;quot;);&lt;br /&gt;
   if (testSuite-&amp;gt;GetInterface(iSuite)) {&lt;br /&gt;
     testSuite-&amp;gt;AddTests(__classid(TTestTCalc));&lt;br /&gt;
     Testframework::RegisterTest(iSuite);&lt;br /&gt;
   } else {&lt;br /&gt;
     delete testSuite;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 #pragma startup registerTests 33&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fonctions DUnit==&lt;br /&gt;
&lt;br /&gt;
DUnit fournit un certain nombre de fonctions utilisables dans vos tests.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Fonction&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Check&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si une condition a été rencontrée.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
&amp;lt;span id=&amp;quot;CheckEquals&amp;quot;&amp;gt;CheckEquals&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si deux éléments sont égaux.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
CheckNotEquals&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si les éléments ne sont pas égaux.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
CheckNotNull&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un élément n&#039;est pas null.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
CheckNull&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un élément est null.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
CheckSame&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si deux éléments ont la même valeur.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
EqualsErrorMessage&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un message d&#039;erreur émis par l&#039;application correspond à un message d&#039;erreur spécifié.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Fail&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si une routine échoue.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
FailEquals&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un échec correspond à une condition d&#039;échec spécifiée.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
FailNotEquals&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si une condition d&#039;échec est différente d&#039;une condition d&#039;échec spécifiée.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
FailNotSame&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si deux conditions d&#039;échec ne sont pas identiques.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
NotEqualsErrorMessage&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si deux messages d&#039;erreur ne sont pas identiques.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
NotSameErrorMessage&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Vérifie si un message d&#039;erreur ne correspond pas à un message d&#039;erreur spécifié.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations sur la syntaxe et l&#039;utilisation de ces fonctions et des autres fonctions DUnit, voir les fichiers d&#039;aide DUnit dans &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;font color=&amp;quot;#004A80&amp;quot;&amp;gt;\source\dunit\doc (EN)&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Lanceurs de tests DUnit.==&lt;br /&gt;
&lt;br /&gt;
Un lanceur de test vous permet d&#039;exécuter vos tests indépendamment de votre application. Dans un projet test DUnit, le code du lanceur de test du framework DUnit est directement compilé dans l&#039;exécutable généré, transformant ainsi le projet test lui-même en lanceur de test. Le framework DUnit intégré fournit deux lanceurs de tests :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Le lanceur de test en mode GUI&#039;&#039;. Affiche les résultats de test de manière interactive dans une fenêtre de l&#039;interface utilisateur graphique, avec les résultats codés en couleur indiquant la réussite ou l&#039;échec des tests.&lt;br /&gt;
* &#039;&#039;Le lanceur de test en mode console&#039;&#039;. Oriente la sortie des tests vers la console.&lt;br /&gt;
&lt;br /&gt;
Le lanceur de test DUnit en mode GUI est très utile pour développer de manière interactive les tests unitaires pour le code testé. Le lanceur de test DUnit en mode GUI affiche une barre verte sur un test qui s&#039;est terminé avec succès, une barre rouge sur un test qui a échoué et une barre jaune sur un test qui a été ignoré.&lt;br /&gt;
&lt;br /&gt;
Le lanceur de test DUnit en mode console est utile lorsque vous voulez exécuter du code achevé et des tests à partir de scripts construits de manière automatisée.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation des tests unitaires|Présentation des tests unitaires]]&lt;br /&gt;
*[[Développement de tests|Développement de tests]]&lt;br /&gt;
* [http://dunit.sourceforge.net/README.html Documentation DUnit sur SourceForge (EN)]&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/dunit-interest Groupe d&#039;intérêt DUnit (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilisation de RAD Studio]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9veloppement_de_tests&amp;diff=213871</id>
		<title>Développement de tests</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9veloppement_de_tests&amp;diff=213871"/>
		<updated>2023-06-27T05:02:16Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Présentation de DUnit}}&lt;br /&gt;
&lt;br /&gt;
{{Note|DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++. Pour les développeurs C++, DUnit est le meilleur outil. C++ peut également être testé à l&#039;aide d&#039;autres frameworks comme Google Test, disponible via le [[Gestionnaire de packages GetIt|Gestionnaire de packages GetIt]].}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nouveauté pour 2010 !&#039;&#039;&#039; [http://www.youtube.com/watch?v=nm_yq9jYckc Vidéo : {{Delphi}} Unit Tests, par Mike Rozlog] (EN)&lt;br /&gt;
&lt;br /&gt;
La structure d&#039;un test unitaire dépend en grande partie de la fonctionnalité de la classe et de la méthode que vous testez. Les experts de test unitaire génèrent des templates squelette pour le projet de test, les méthodes &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;setup&amp;lt;/span&amp;gt; et &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;teardown&amp;lt;/span&amp;gt;, et les cas de test de base. Vous pouvez ensuite modifier les templates, en ajoutant la logique de test spécifique permettant de tester vos méthodes particulières.&lt;br /&gt;
&lt;br /&gt;
La section suivante décrit les procédures de création d&#039;un projet de test unitaire et d&#039;un cas de test unitaire. Suivez ces procédures dans l&#039;ordre spécifié. Vous devez créer le projet de test unitaire avant la création des cas de test associés. &#039;&#039;&#039;L&#039;expert Cas de test unitaire&#039;&#039;&#039; est seulement disponible si le projet actif en cours est un projet de test unitaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour créer un projet de test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Choisissez &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Fichier &amp;amp;gt; Nouveau &amp;amp;gt; Autre&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
# Ouvrez le dossier &#039;&#039;&#039;Test unitaire&#039;&#039;&#039;.&lt;br /&gt;
# Double-cliquez sur l&#039;élément &#039;&#039;&#039;Projet de test&#039;&#039;&#039; de la galerie. Cela démarre &#039;&#039;&#039;l&#039;expert Projet de test&#039;&#039;&#039; et affiche la page &#039;&#039;&#039;Détails du projet de test&#039;&#039;&#039;.&lt;br /&gt;
# Remplissez les informations appropriées ou acceptez les valeurs par défaut. Entrez les informations suivantes :&lt;br /&gt;
#* &#039;&#039;&#039;Projet :&#039;&#039;&#039; Entrez le nom du nouveau projet de test ou acceptez la valeur par défaut. La valeur par défaut est le nom du projet actif avec le mot &#039;&#039;Tests&#039;&#039; ajouté à la fin du nom. En l&#039;absence d&#039;un projet actif, la valeur par défaut sera &#039;&#039;UnitTest&#039;&#039; avec un numéro de séquence ajouté à la fin du nom.&lt;br /&gt;
#* &#039;&#039;&#039;Emplacement :&#039;&#039;&#039; Entrez le nom complet du dossier dans lequel sera créé le projet de test ou acceptez la valeur par défaut. La valeur par défaut est un sous-dossier nommé &#039;&#039;test&#039;&#039;, sous le dossier du projet actif. En l&#039;absence d&#039;un projet actif, la valeur par défaut sera alors le dossier par défaut des projets. Vous pouvez cliquer sur les points de suspension (&#039;&#039;&#039;...&#039;&#039;&#039;) pour afficher une boîte de dialogue &#039;&#039;&#039;Parcourir&#039;&#039;&#039; dans laquelle vous pouvez sélectionner l&#039;emplacement.&lt;br /&gt;
#* &#039;&#039;&#039;Personnalité : &#039;&#039;&#039;Sélectionnez la personnalité (langage de code) dans la liste déroulante ou acceptez la valeur par défaut. La valeur par défaut est la personnalité du projet actif.&lt;br /&gt;
# Si vous ne voulez pas que le projet de test soit ajouté à votre groupe de projets, désactivez la case à cocher &#039;&#039;&#039;Ajouter au groupe de projets&#039;&#039;&#039;.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039; pour continuer ou sur &#039;&#039;&#039;Terminer&#039;&#039;&#039; pour accepter les valeurs par défaut restantes. Si le bouton &#039;&#039;&#039;Terminer&#039;&#039;&#039; est disponible, vous pouvez cliquer dessus à partir de n&#039;importe quel endroit pour accepter les valeurs par défaut des champs restants et générer immédiatement le nouveau projet de test. Sinon, cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039; pour accéder à la page &#039;&#039;&#039;Options du framework de test&#039;&#039;&#039;.&lt;br /&gt;
# Remplissez les informations appropriées ou acceptez les valeurs par défaut. Entrez ce qui suit :&lt;br /&gt;
#* &#039;&#039;&#039;Framework de test :&#039;&#039;&#039; Pour les personnalités {{Delphi}} et C++, seul le framework DUnit est pris en charge. Vous ne pouvez donc pas modifier cette valeur.&lt;br /&gt;
#* &#039;&#039;&#039;Lanceur de test :&#039;&#039;&#039; Choisissez &#039;&#039;&#039;GUI&#039;&#039;&#039; ou &#039;&#039;&#039;Console&#039;&#039;&#039; dans la liste déroulante. Le lanceur de test en mode console oriente la sortie vers la console. Le lanceur de test en mode GUI affiche les résultats de manière interactive dans une fenêtre de l&#039;interface utilisateur graphique, avec les résultats codés en couleur indiquant la réussite ou l&#039;échec des tests.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Terminer&#039;&#039;&#039;. &#039;&#039;&#039;L&#039;expert Projet de test&#039;&#039;&#039; génère le template de projet de test. Pour {{Delphi}}, les références nécessaires du source sont également ajoutées dans le template de projet de test ; vous pouvez ignorer l&#039;étape suivante. Pour {{CBuilder}}, vous devez lier manuellement le projet de test aux classes C++ que vous voulez tester ; passez à l&#039;étape suivante.&lt;br /&gt;
#&#039;&#039;&#039;Pour {{CBuilder}} seulement :&#039;&#039;&#039; Liez le nouveau projet de test au source à tester. Pour {{CBuilder}}, vous devez lier manuellement le projet de test au code C++ que vous voulez tester. Vous pouvez utiliser l&#039;une des techniques suivantes, comme il convient :&lt;br /&gt;
#* Ajouter le code C++ directement au projet de test.&lt;br /&gt;
#* Ajouter un fichier .obj au projet de test.&lt;br /&gt;
#* Ajouter un fichier .lib (une bibliothèque statique ou une bibliothèque d&#039;importation pour une DLL) au projet de test.&lt;br /&gt;
#* Inclure le fichier en-tête qui implémente la classe à tester. Pour obtenir des instructions, consultez la section suivante &#039;&#039;&#039;Ajout de fichiers à un projet de test&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ajout de fichiers à un projet de test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Ouvrez le fichier projet de test et activez-le. Pour activer le fichier, sélectionnez-le dans le &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039; et cliquez sur le bouton &#039;&#039;&#039;Activer&#039;&#039;&#039;.&lt;br /&gt;
# Dans le &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039;, cliquez avec le bouton droit sur le nom du projet de test. Cela affiche un menu déroulant des opérations de projet.&lt;br /&gt;
# Choisissez Ajouter.... Cela affiche le navigateur de fichiers &#039;&#039;&#039;Ajouter au projet&#039;&#039;&#039;, à partir duquel vous pouvez sélectionner le fichier à inclure dans votre projet de test.&lt;br /&gt;
# Sélectionnez le fichier à ajouter et cliquez sur &#039;&#039;&#039;OK&#039;&#039;&#039;. Cette action ajoute le fichier sélectionné au projet de test.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour créer un cas de test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Cliquez sur l&#039;onglet &#039;&#039;&#039;Code&#039;&#039;&#039; du fichier contenant les classes que vous souhaitez tester. Cela active le fichier dans &#039;&#039;&#039;l&#039;éditeur de code&#039;&#039;&#039;.&lt;br /&gt;
# Choisissez &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Fichier &amp;amp;gt; Nouveau &amp;amp;gt; Autre&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
# Ouvrez le dossier &#039;&#039;&#039;Test unitaire&#039;&#039;&#039;.&lt;br /&gt;
# Double-cliquez sur l&#039;élément de la galerie &#039;&#039;&#039;Cas de test&#039;&#039;&#039;. Cela démarre &#039;&#039;&#039;l&#039;expert Cas de test&#039;&#039;&#039; et affiche la page &#039;&#039;&#039;Sélection des méthodes à tester&#039;&#039;&#039;.&lt;br /&gt;
# Entrez le nom du fichier source contenant les classes que vous souhaitez tester. Vous pouvez cliquer sur les points de suspension (&#039;&#039;&#039;...&#039;&#039;&#039;) pour afficher une boîte de dialogue &#039;&#039;&#039;Ouvrir&#039;&#039;&#039; dans laquelle vous pouvez sélectionner le fichier.&lt;br /&gt;
# Sélectionnez les classes et les méthodes pour lesquelles vous voulez créer des tests. Dans la liste &#039;&#039;&#039;Classes et méthodes disponibles&#039;&#039;&#039;, cliquez sur la case à cocher en regard d&#039;un élément pour le sélectionner ou le désélectionner. Par défaut, toutes les classes et méthodes sont sélectionnées. Vous pouvez désélectionner individuellement des méthodes dans la liste. L&#039;expert génère des templates de cas de test uniquement pour les méthodes cochées (sélectionnées). Si vous désélectionnez une classe, l&#039;expert ignore la classe entière et toutes ses méthodes, même si vous ne désélectionnez pas les méthodes. Si vous sélectionnez une classe mais ne sélectionnez pas les méthodes de cette classe, l&#039;expert génère un cas de test pour la classe, mais ne génère aucune méthode de test pour cette classe.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039; pour continuer ou sur &#039;&#039;&#039;Terminer&#039;&#039;&#039; pour accepter les valeurs par défaut restantes. Si le bouton &#039;&#039;&#039;Terminer&#039;&#039;&#039; est disponible, vous pouvez cliquer dessus à partir de n&#039;importe quel endroit pour accepter les valeurs par défaut des champs restants et générer immédiatement le nouveau cas de test. Sinon, cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039; pour accéder à la page &#039;&#039;&#039;Détails du cas de test&#039;&#039;&#039;.&lt;br /&gt;
# Remplissez les informations appropriées ou acceptez les valeurs par défaut.&lt;br /&gt;
#* &#039;&#039;&#039;Projet de test :&#039;&#039;&#039; Sélectionnez le projet de test dans la liste déroulante. La valeur par défaut est le projet de test actif. Si vous venez de créer un projet de test à l&#039;aide de &#039;&#039;&#039;l&#039;expert Projet de test&#039;&#039;&#039;, le nouveau projet de test devient alors la valeur par défaut.&lt;br /&gt;
#* &#039;&#039;&#039;Fichier :&#039;&#039;&#039; Entrez un nom de fichier pour le cas de test que vous avez créé ou acceptez la valeur par défaut. La valeur par défaut est le nom du fichier source à tester, avec le préfixe &#039;&#039;Test&#039;&#039; ajouté à la fin du nom.&lt;br /&gt;
#* &#039;&#039;&#039;Framework de test : &#039;&#039;&#039;Pour les personnalités {{Delphi}} pour Win32 et C++, seul le framework DUnit est pris en charge. Vous ne pouvez donc pas modifier cette valeur.&lt;br /&gt;
#* &#039;&#039;&#039;Classe de base :&#039;&#039;&#039; Sélectionnez la classe de base dans la liste déroulante ou acceptez la valeur par défaut. La valeur par défaut est &#039;&#039;&#039;TTestCase&#039;&#039;&#039;, c&#039;est-à-dire la classe de base &#039;&#039;&#039;TestCase&#039;&#039;&#039; par défaut. Dans la plupart des cas, vous pouvez utiliser la valeur par défaut. Toutefois, vous pouvez spécifier une classe &#039;&#039;&#039;TTestCase&#039;&#039;&#039; personnalisée que vous avez créée. En outre, si vous testez une hiérarchie d&#039;objets, vous pouvez dériver le nouveau cas de test de la classe &#039;&#039;&#039;TestCase&#039;&#039;&#039; d&#039;un objet de base de l&#039;objet en cours de test. Cela permet à une classe dérivée d&#039;hériter d&#039;un test créé pour le type de base de cette classe.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Terminer&#039;&#039;&#039;. L&#039;expert génère un fichier cas de test portant le nom spécifié.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour écrire un cas de test&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Ajoutez du code aux méthodes &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;SetUp&amp;lt;/span&amp;gt; et &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TearDown&amp;lt;/span&amp;gt; dans les templates de cas de test, si nécessaire.&lt;br /&gt;
# Ajoutez des assertions aux méthodes de test.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour exécuter un cas de test dans le lanceur de test en mode GUI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Activez le fichier contenant les classes à exécuter. Sélectionnez le fichier dans le &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039;, puis cliquez sur le bouton &#039;&#039;&#039;Activer&#039;&#039;&#039;.&lt;br /&gt;
# Choisissez &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Exécuter &amp;amp;gt; Exécuter&#039;&#039;&#039;&amp;lt;/font&amp;gt;. Le &#039;&#039;&#039;lanceur de test en mode GUI&#039;&#039;&#039; démarre immédiatement au lancement de votre application.&lt;br /&gt;
# Sélectionnez un ou plusieurs tests dans la liste des tests.&lt;br /&gt;
# Cliquez sur le bouton &#039;&#039;&#039;Exécuter&#039;&#039;&#039;. Les résultats des tests apparaissent dans la fenêtre &#039;&#039;&#039;Résultats de test&#039;&#039;&#039;. Tous les tests signalés au moyen d&#039;une barre verte ont été exécutés avec succès. Tous les tests signalés en rouge ont échoué. Tous les tests signalés en jaune ont été ignorés.&lt;br /&gt;
# Examinez les résultats des tests.&lt;br /&gt;
# Corrigez les erreurs et réexécutez les tests.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Présentation des tests unitaires|Présentation des tests unitaires]]&lt;br /&gt;
*[[Présentation de DUnit|Présentation de DUnit]]&lt;br /&gt;
*[http://www.youtube.com/watch?v=nm_yq9jYckc Vidéo : {{Delphi}} Unit Tests, par Mike Rozlog] (EN)&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilisation de RAD Studio]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=P%C3%A9riph%C3%A9riques_Android_pris_en_charge_pour_le_d%C3%A9veloppement_d%27applications&amp;diff=213869</id>
		<title>Périphériques Android pris en charge pour le développement d&#039;applications</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=P%C3%A9riph%C3%A9riques_Android_pris_en_charge_pour_le_d%C3%A9veloppement_d%27applications&amp;diff=213869"/>
		<updated>2023-06-27T05:02:16Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23437&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications mobiles Android}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Exigences logicielles Android==&lt;br /&gt;
&lt;br /&gt;
{{Variables|Product}} prend en charge le développement sur les périphériques ARMv7 et AArch64 qui exécutent les versions du système d&#039;exploitation Android présentées dans [[Plates-formes cible prises en charge|Plates-formes cible prises en charge]].&lt;br /&gt;
&lt;br /&gt;
==Exigences matérielles Android==&lt;br /&gt;
&lt;br /&gt;
La plupart des matériels Android sont pris en charge. Les exigences spécifiques sont les suivantes :&lt;br /&gt;
&lt;br /&gt;
* [http://www.arm.com/products/processors/cortex-a/index.php Processeur de série ARM Cortex-A ]&lt;br /&gt;
* Instructions ARMv7 ou ARM64&lt;br /&gt;
* Technologie NEON&lt;br /&gt;
* GPU&lt;br /&gt;
&lt;br /&gt;
RAD Studio cible l&#039;architecture de CPU la plus courante pour des performances optimales sur le plus grand nombre de périphériques possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Informations détaillées :&#039;&#039;&#039; Les CPU basés sur des instructions ARM sont créés par un grand nombre de fabricants en fonction de différents ensembles de spécifications. ARM est la technologie dominante pour les matériels mobiles. Le jeu d&#039;instructions (ou coeur) ARMv7 spécifie la micro-architecture utilisée par le CPU. La famille de CPU implémentant des instructions ARMv7 est appelée Cortex-A. La plupart de ces CPU incluent également la technologie NEON.&lt;br /&gt;
Certains périphériques Android utilisent à la place l&#039;architecture Intel ATOM, qui est incompatible avec FireMonkey. Les applications RAD Studio requièrent cette architecture de CPU spécifique car les apps RAD Studio recompilent le code machine pour des performances optimales. En cela elles diffèrent des autres apps Android qui sont développées avec Java et recompilent en bytecode Dalvik, puis s&#039;exécutent sur la machine virtuelle Dalvik.&lt;br /&gt;
La plupart des périphériques Android ont un GPU (Graphics Processing Unit). Il arrive souvent que le GPU soit combiné au CPU dans une configuration SoC (système sur puce). Toutes ces configurations sont normalement prises en charge.&lt;br /&gt;
&lt;br /&gt;
===Périphériques Android basés sur Intel===&lt;br /&gt;
&lt;br /&gt;
Android KitKat et les versions supérieures s&#039;exécutant sur les périphériques Android avec des CPU Intel incluent une bibliothèque d&#039;émulation appelée &#039;&#039;&#039;libhoudini&#039;&#039;&#039;. La bibliothèque de traduction est invoquée automatiquement par le système d&#039;exploitation, et permet au CPU Intel d&#039;interpréter et d&#039;exécuter des binaires compilés pour les CPU ARM.&lt;br /&gt;
&lt;br /&gt;
Les applications FireMonkey sont généralement compatibles avec la bibliothèque &#039;&#039;&#039;libhoudini&#039;&#039;&#039;. Aucun travail supplémentaire n&#039;est nécessaire pour ajouter la prise en charge pour l&#039;émulation.&lt;br /&gt;
&lt;br /&gt;
===Débogage===&lt;br /&gt;
&lt;br /&gt;
Nous recommandons les périphériques suivants pour le débogage des applications Android 64 bits. Les fabricants et les types de périphériques Android sont nombreux. Par conséquent, tous les périphériques ne présentent pas la même capacité à déboguer une application. Nous vous conseillons de tester un périphérique pour vérifier s&#039;il prend en charge le débogage. En général, les périphériques Android disponibles en stock, non modifiés et fournis par les principaux fournisseurs le font. Par contre, les périphériques Android ayant subi des modifications matérielles inhabituelles peuvent ne pas prendre correctement en charge le débogage. Nous recommandons la liste non exhaustive de périphériques suivants pour le débogage des applications Android 64 bits.  &lt;br /&gt;
&lt;br /&gt;
Pour déboguer une application 64 bits, votre périphérique doit exécuter une version 64 bits du système d&#039;exploitation Android. &lt;br /&gt;
&lt;br /&gt;
{{Note| Le fait qu&#039;un périphérique apparaisse dans cette liste ne garantit pas qu&#039;il prend en charge le débogage. En effet, cette capacité varie d&#039;un périphérique à l&#039;autre, en fonction des systèmes d&#039;exploitation et des releases.}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Périphérique&lt;br /&gt;
! Version Android&lt;br /&gt;
! Nombre de bits du système d&#039;exploitation&lt;br /&gt;
! Débogage des apps 32 bits&lt;br /&gt;
! Débogage des apps 64 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 7&#039;&#039;&#039; (version 2)&lt;br /&gt;
|&lt;br /&gt;
6.0.1&lt;br /&gt;
|&lt;br /&gt;
32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
N/A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 9&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
5.0.1&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 9&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
7.1.1&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Pixel&#039;&#039;&#039; (release originale) &lt;br /&gt;
|&lt;br /&gt;
10&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Essential Phone 1&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
10&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 6P&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
8.1.0&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Pixel 3XL&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
10&lt;br /&gt;
|&lt;br /&gt;
64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Nexus 5&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
6.0.1&lt;br /&gt;
|&lt;br /&gt;
32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Apps 64 bits sur matériel 32 bits===&lt;br /&gt;
&lt;br /&gt;
Pour exécuter des applications Android 64 bits sur votre périphérique, ce dernier doit remplir deux conditions :&lt;br /&gt;
&lt;br /&gt;
# Le téléphone doit être équipé d&#039;un CPU 64 bits&lt;br /&gt;
# La version installée d&#039;Android doit être 64 bits. Android version 5 et supérieure prennent en charge 64 bits. &lt;br /&gt;
&lt;br /&gt;
Cependant, certains périphériques ne sont pas configurés pour utiliser le mode 64 bits. Si le périphérique ne prend pas en charge une application 64 bits native, un message d&#039;erreur s&#039;affiche. &lt;br /&gt;
&lt;br /&gt;
Lorsque vous tentez de déboguer une app 64 bits depuis l&#039;EDI sur un périphérique cible qui ne prend pas en charge une application 64 bits, un message d&#039;erreur s&#039;affiche.  &lt;br /&gt;
&lt;br /&gt;
===Comment vérifier que votre périphérique Android peut exécuter des apps 64 bits ?===&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier que le CPU de votre périphérique Android peut exécuter des apps 64 bits, vous pouvez utiliser des applications existantes dans le Google Play Store, par exemple :&lt;br /&gt;
&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=com.finalwire.aida64 AIDA64] - Vérifie la page CPU&lt;br /&gt;
* [https://play.google.com/store/apps/details?id=com.cpuid.cpu_z CPU-Z] - Vérifie la page Système&lt;br /&gt;
&lt;br /&gt;
Si elle indique que votre CPU comporte un jeu d&#039;instructions ARMv8-A 64 bits, mais qu&#039;il est configuré en mode 32 bits, cela implique que la version Android n&#039;est pas 64 bits. En cas de non-concordance, le message d&#039;erreur INSTALL_FAILED_NO_MATCHING_ABIS s&#039;affiche.&lt;br /&gt;
&lt;br /&gt;
==Test pour savoir si votre périphérique Android est pris en charge==&lt;br /&gt;
&lt;br /&gt;
L&#039;appli &#039;&#039;&#039;AIDA64&#039;&#039;&#039; fournit un moyen rapide et facile de tester la compatibilité de votre système. Si vous n&#039;êtes pas certain que votre périphérique a les fonctionnalités requises, vous pouvez la télécharger depuis le Google Play Store et l&#039;exécuter sur votre périphérique :  [https://play.google.com/store/apps/details?id=com.finalwire.aida64 AIDA64]&lt;br /&gt;
&#039;&#039;&#039;AIDA64&#039;&#039;&#039; est une appli gratuite (avec publicités) et ne requiert pas de privilèges spéciaux pour son exécution.&lt;br /&gt;
&lt;br /&gt;
Pour la partie CPU, vous devriez voir un écran similaire à celui-ci :&lt;br /&gt;
&lt;br /&gt;
[[File:AIDA64.png|300px|link=]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AIDA64&#039;&#039;&#039; vous informe précisément des fonctionnalités de CPU prises en charge par votre périphérique. Spécifiquement, &#039;&#039;&#039;AIDA64&#039;&#039;&#039; liste toutes les fonctionnalités CPU possibles, fournit les définitions de ces fonctionnalités, et indique si votre périphérique particulier prend en charge chacune d&#039;elles. &lt;br /&gt;
&lt;br /&gt;
Si vous voyez :&lt;br /&gt;
&lt;br /&gt;
* ABI pris en charge affichant ARMv7 ou ARM64 AArch64&lt;br /&gt;
* Version de système d&#039;exploitation répertoriée dans [[Plates-formes cible prises en charge|Plates-formes cible prises en charge]] (voir la section relative à  Android)&lt;br /&gt;
* NEON est indiqué comme étant pris en charge&lt;br /&gt;
&lt;br /&gt;
Alors le périphérique devrait fonctionner.&lt;br /&gt;
&lt;br /&gt;
Pourquoi utiliser &#039;&#039;&#039;AIDA64&#039;&#039;&#039; ? Certaines applications peuvent uniquement être exécutées avec des chipsets spécifiques, tandis que d&#039;autres requièrent la prise en charge de NEON pour s&#039;exécuter correctement. Vous pouvez désormais tester votre périphérique de manière à disposer des informations dont vous avez besoin pour prendre d&#039;autres décisions d&#039;achat d&#039;apps.&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, si vous êtes un développeur écrivant des apps Android dépendant de NEON, vous voudrez peut-être orienter vos utilisateurs vers cette app pour qu&#039;ils puissent découvrir si leur périphérique particulier prend en charge NEON avant d&#039;acheter votre app. Vous pourrez ainsi contribuer à réduire la confusion de l&#039;utilisateur et les demandes de retour.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|Embarcadero n&#039;a pas d&#039;informations sur l&#039;origine de l&#039;application et ne peut pas garantir que les apps ne contiennent pas de programme malveillant.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Prérequis de plate-forme FireMonkey|Prérequis de plate-forme {{FM}}]]&lt;br /&gt;
* [[Configuration de votre système pour détecter votre périphérique Android|Configuration de votre système pour détecter votre périphérique Android]]&lt;br /&gt;
* [[Exécution de votre application Android sur un périphérique Android|Exécution de votre application Android sur un périphérique Android]]&lt;br /&gt;
* [[Plates-formes cible prises en charge|Plates-formes cible supportées]]&lt;br /&gt;
&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Moteur_de_bases_de_donn%C3%A9es_Borland&amp;diff=213868</id>
		<title>Moteur de bases de données Borland</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Moteur_de_bases_de_donn%C3%A9es_Borland&amp;diff=213868"/>
		<updated>2023-06-27T02:35:46Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : Yukikoi a déplacé la page Moteur de bases de données Borland vers BDE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[BDE]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=BDE&amp;diff=213867</id>
		<title>BDE</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=BDE&amp;diff=213867"/>
		<updated>2023-06-27T02:35:46Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : Yukikoi a déplacé la page Moteur de bases de données Borland vers BDE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Déploiement des applications BDE}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Avertissement&amp;amp;nbsp;:&lt;br /&gt;
* [http://www.embarcadero.com/rad-in-action/migration-upgrade-center http://www.embarcadero.com/rad-in-action/migration-upgrade-center]&lt;br /&gt;
*	[http://edn.embarcadero.com/article/29106 EDN: &amp;quot;Migrating BDE Applications to dbExpress&amp;quot;]&lt;br /&gt;
*	[http://blog.marcocantu.com/blog/BDE_to_dbExpress.html Marco Cantu&#039;s Blog entries]&lt;br /&gt;
*	[http://stackoverflow.com/questions/9161583/delphi-migrating-from-bde-to-dbexpress-tutorial Q&amp;amp;A: &amp;quot;{{Delphi}}: Migrating from BDE to DBExpress Tutorial&amp;quot;]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser le moteur de bases de données Borland (BDE) pour que les composants de données standard {{Delphi}} aient accès aux bases de données. Consultez le document BDEDEPLOY pour obtenir les restrictions et les droits spécifiques sur la redistribution du BDE (voir C:\Program Files\Common Files\Borland Shared\BDE).&lt;br /&gt;
&lt;br /&gt;
Vous devez utiliser InstallAware Express (ou un autre programme d&#039;installation certifié) pour l&#039;installation du BDE. InstallAware Express crée les entrées de registre nécessaires et définit les alias nécessaires à l&#039;application. Il est important d&#039;utiliser un programme certifié pour déployer les fichiers BDE car&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
* Une installation incorrecte du BDE ou des sous-ensembles BDE peut empêcher le fonctionnement d&#039;autres applications utilisant le BDE. Ces applications sont des produits {{Company}}, mais également des programmes tiers utilisant le BDE.&lt;br /&gt;
* Sous Windows 32&amp;amp;nbsp;bits 95/NT ou plus, les informations de configuration BDE sont stockées dans les registres Windows et non pas dans des fichiers .ini, comme c&#039;était le cas avec Windows 16 bits. La création ou la suppression de ces entrées lors de l&#039;installation ou de la désinstallation est une tâche complexe.&lt;br /&gt;
&lt;br /&gt;
Il est possible de n&#039;installer que la partie du BDE nécessaire à une application. Si, par exemple, une application n&#039;utilise que des tables Paradox, il est seulement nécessaire d&#039;installer la partie du BDE indispensable à l&#039;accès aux tables Paradox. Cela réduit l&#039;espace disque nécessaire à une application. Les programmes d&#039;installation certifiés, comme InstallAware Express, sont capables d&#039;effectuer une installation partielle du BDE. Il faut prendre garde à laisser intact les fichiers système BDE inutilisés par l&#039;application installée mais nécessaires à d&#039;autres programmes déjà installés.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Présentation de BDE|Présentation de BDE]]&lt;br /&gt;
* [[Utilisation du BDE|Utilisation du BDE]]&lt;br /&gt;
* [[Composants dbExpress|Composants dbExpress]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Moteur de bases de donnees Borland}}&lt;br /&gt;
[[Category:Guide du développeur Windows]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
&lt;br /&gt;
[[en:BDE]]&lt;br /&gt;
[[de:Borland Database Engine]]&lt;br /&gt;
[[ja:ボーランド データベース エンジン]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Tableaux_s%C3%A9curis%C3%A9s&amp;diff=213821</id>
		<title>Tableaux sécurisés</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Tableaux_s%C3%A9curis%C3%A9s&amp;diff=213821"/>
		<updated>2021-06-25T03:29:59Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23362&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Utilisation de la syntaxe Delphi ou RIDL}}&lt;br /&gt;
&lt;br /&gt;
COM requiert que les tableaux soient transmis via un type de données spécial appelé SafeArray. Vous pouvez créer et détruire les SafeArrays en appelant des fonctions COM particulières, et tous les éléments d&#039;un SafeArray doivent être de [[Types autorisés|types compatibles automation-valides]]. Le compilateur {{Delphi}} dispose d&#039;informations intégrées sur les SafeArrays COM et appellera automatiquement l&#039;API COM pour créer, copier et détruire des SafeArrays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}}:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure HighLightLines(Lines: PSafeArray);&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&#039;&#039;&#039;C++:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
HRESULT STDMETHODCALLTYPE HighlightLines(LPSAFEARRAY Lines)&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;l&#039;éditeur de bibliothèques de types&#039;&#039;&#039;, un &#039;&#039;SafeArray&#039;&#039; doit spécifier le type de ses éléments. Par exemple, la ligne suivante de la page Texte déclare une méthode avec un paramètre &#039;&#039;SafeArray&#039;&#039; avec un élément de type Integer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 HRESULT _stdcall HighlightLines(SAFEARRAY(long) Lines);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{{Note| Même si vous devez spécifier le type de l&#039;élément lors de la déclaration d&#039;un type &#039;&#039;SafeArray&#039;&#039; dans &#039;&#039;&#039;l&#039;éditeur de bibliothèques de types&#039;&#039;&#039;, la déclaration du fichier unité _TLB généré n&#039;indique pas le type de l&#039;élément.}}&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voir Aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Types autorisés|Types autorisés]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Guide du développeur Windows]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Tableaux_s%C3%A9curis%C3%A9s&amp;diff=213822</id>
		<title>Tableaux sécurisés</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Tableaux_s%C3%A9curis%C3%A9s&amp;diff=213822"/>
		<updated>2021-06-25T03:28:43Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23362&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Utilisation de la syntaxe Delphi ou RIDL}}&lt;br /&gt;
&lt;br /&gt;
COM requiert que les tableaux soient transmis via un type de données spécial appelé SafeArray. Vous pouvez créer et détruire les SafeArrays en appelant des fonctions COM particulières, et tous les éléments d&#039;un SafeArray doivent être de [[Types autorisés|types compatibles automation-valides]]. Le compilateur {{Delphi}} dispose d&#039;informations intégrées sur les SafeArrays COM et appellera automatiquement l&#039;API COM pour créer, copier et détruire des SafeArrays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}}:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure HighLightLines(Lines: PSafeArray);&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&#039;&#039;&#039;C++:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
HRESULT STDMETHODCALLTYPE HighlightLines(LPSAFEARRAY Lines)&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;l&#039;éditeur de bibliothèques de types&#039;&#039;&#039;, un &#039;&#039;SafeArray&#039;&#039; doit spécifier le type de ses éléments. Par exemple, la ligne suivante de la page Texte déclare une méthode avec un paramètre &#039;&#039;SafeArray&#039;&#039; avec un élément de type Integer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 HRESULT _stdcall HighlightLines(SAFEARRAY(long) Lines);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{{Note| Même si vous devez spécifier le type de l&#039;élément lors de la déclaration d&#039;un type &#039;&#039;SafeArray&#039;&#039; dans &#039;&#039;&#039;l&#039;éditeur de bibliothèques de types&#039;&#039;&#039;, la déclaration du fichier unité _TLB généré n&#039;indique pas le type de l&#039;élément.}}&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voir Aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Types autorisés|Types autorisés]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Guide du développeur Windows]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=M%C3%A9thodes_(Delphi)&amp;diff=213752</id>
		<title>Méthodes (Delphi)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=M%C3%A9thodes_(Delphi)&amp;diff=213752"/>
		<updated>2020-08-26T10:14:48Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-RS82965&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Classes et objets - Index}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;reintroduce&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;overload&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;abstract&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;virtual&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;dynamic&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;register&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;pascal&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;cdecl&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;stdcall&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;safecall&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;platform&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;deprecated&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;library&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;inherited&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;Self&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;override&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;final&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;class&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;read&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;write&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;constructor&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;nill&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;if&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;destructor&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;message&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;DefaultHandler&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;Dispatch&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
Une méthode est une procédure ou une fonction associée à une classe. Un appel de méthode spécifie l&#039;objet (ou la classe si c&#039;est une méthode de classe) sur lequel la méthode agit. Par exemple, &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;SomeObject.Free&amp;lt;/span&amp;gt; appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Free&amp;lt;/span&amp;gt; de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;SomeObject&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette rubrique couvre les sujets suivants :&lt;br /&gt;
&lt;br /&gt;
* Déclarations et implémentations de méthodes&lt;br /&gt;
* Liaison de méthodes&lt;br /&gt;
* Surcharge de méthodes&lt;br /&gt;
* Constructeurs et destructeurs&lt;br /&gt;
* Méthodes de messages&lt;br /&gt;
&lt;br /&gt;
==A propos des méthodes==&lt;br /&gt;
&lt;br /&gt;
Au sein d&#039;une déclaration de classe, les méthodes apparaissent comme des en-têtes de procédures ou de fonctions qui fonctionnent comme les déclarations &#039;&#039;&#039;forward&#039;&#039;&#039;. Quelque part après la déclaration de classe, mais à l&#039;intérieur du même module, chaque méthode doit être implémentée par une déclaration de définition. Si; par exemple, la déclaration de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TMyClass&amp;lt;/span&amp;gt; contient une méthode appelée &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DoSomething&amp;lt;/span&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
    TMyClass = class(TObject)&lt;br /&gt;
       ...&lt;br /&gt;
       procedure DoSomething;&lt;br /&gt;
       ...&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une déclaration de définition pour &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DoSomething&amp;lt;/span&amp;gt; doit apparaître plus loin dans le module :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure TMyClass.DoSomething;&lt;br /&gt;
 begin&lt;br /&gt;
      ...&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si une classe peut être déclarée dans la section interface ou la section implementation d&#039;une unité, les déclarations de définition des méthodes de classe doivent se trouver dans la section implementation.&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;en-tête d&#039;une déclaration de définition, le nom de la méthode est toujours qualifié par le nom de la classe à laquelle elle appartient. L&#039;en-tête peut répéter la liste de paramètres depuis la déclaration de classe ; si c&#039;est le cas, l&#039;ordre, le type et le nom des paramètres doivent correspondre exactement et, si la méthode est une fonction, la valeur de retour doit aussi correspondre.&lt;br /&gt;
&lt;br /&gt;
Les déclarations des méthodes peuvent inclure des directives spéciales qui ne sont pas utilisées par d&#039;autres fonctions ou procédures. Les directives doivent apparaître uniquement dans la déclaration de classe et pas dans la déclaration de définition, et doivent toujours être dans l&#039;ordre suivant :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;reintroduce&#039;&#039;&#039;; &#039;&#039;&#039;overload&#039;&#039;&#039;; [[#Liaison de méthode|liaison]]; [[Procédures et fonctions (Delphi)#Conventions d&#039;appel|convention d&#039;appel]]; &#039;&#039;&#039;abstract&#039;&#039;&#039;; [[Déclarations et instructions (Delphi)#Directives de conseil|avertissement]]&lt;br /&gt;
&lt;br /&gt;
Où :&lt;br /&gt;
&lt;br /&gt;
* [[#Liaison de méthode|liaison]] correspond à &#039;&#039;&#039;virtual&#039;&#039;&#039;, &#039;&#039;&#039;dynamic&#039;&#039;&#039; ou &#039;&#039;&#039;override&#039;&#039;&#039; ;&lt;br /&gt;
* [[Procédures et fonctions (Delphi)#Conventions d&#039;appel|convention d&#039;appel]] correspond à &#039;&#039;&#039;register&#039;&#039;&#039;, &#039;&#039;&#039;pascal&#039;&#039;&#039;, &#039;&#039;&#039;cdecl&#039;&#039;&#039;, &#039;&#039;&#039;stdcall&#039;&#039;&#039;, or &#039;&#039;&#039;safecall&#039;&#039;&#039;;&lt;br /&gt;
* [[Déclarations et instructions (Delphi)#Directives de conseil|avertissement]] correspond à &#039;&#039;&#039;platform&#039;&#039;&#039;, &#039;&#039;&#039;deprecated&#039;&#039;&#039; ou &#039;&#039;&#039;library&#039;&#039;&#039;. Pour plus d&#039;informations sur ces directives d&#039;avertissement (de conseil), voir [[Déclarations et instructions (Delphi)#Directives de conseil|Directives de conseil]].  &lt;br /&gt;
&lt;br /&gt;
Toutes les directives {{Delphi}} sont listées dans [[Eléments syntaxiques fondamentaux (Delphi)#Directives|Directives]].&lt;br /&gt;
&lt;br /&gt;
===Inherited===&lt;br /&gt;
&lt;br /&gt;
Le mot réservé &#039;&#039;&#039;inherited&#039;&#039;&#039; joue un rôle particulier dans l&#039;implémentation de comportements polymorphiques. Il peut apparaître dans une définition de méthode avec ou sans identificateur à la suite.&lt;br /&gt;
&lt;br /&gt;
Si &#039;&#039;&#039;inherited&#039;&#039;&#039; est suivi par le nom d&#039;un membre, il représente un appel de méthode normal ou une référence à une propriété ou à un champ, sauf que la recherche du membre référencé commence avec l&#039;ancêtre immédiat de la classe de la méthode englobante. Par exemple, quand l&#039;instruction :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 inherited Create(...);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
apparaît dans la définition d&#039;une méthode, elle appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Create&amp;lt;/span&amp;gt; héritée.&lt;br /&gt;
&lt;br /&gt;
Quand &#039;&#039;&#039;inherited&#039;&#039;&#039; est utilisé sans être suivi d&#039;un identificateur, il désigne la méthode héritée portant le même nom que la méthode en cours ou, si la méthode en cours est un gestionnaire de message, le gestionnaire de message hérité pour le même message. Dans ce cas, &#039;&#039;&#039;inherited&#039;&#039;&#039; ne prend pas de paramètres explicites, mais transmet à la méthode héritée les paramètres utilisés pour l&#039;appel de la méthode englobante. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 inherited;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
apparaît fréquemment dans l&#039;implémentation des constructeurs. Cette instruction appelle le constructeur hérité avec les mêmes paramètres que ceux transmis au descendant.&lt;br /&gt;
&lt;br /&gt;
===Self===&lt;br /&gt;
&lt;br /&gt;
Au sein de l&#039;implémentation d&#039;une méthode, l&#039;identificateur &#039;&#039;&#039;Self&#039;&#039;&#039; référence l&#039;objet dans lequel la méthode est appelée. Voici, par exemple, l&#039;implémentation de la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt; de TCollection dans l&#039;unité &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Classes&amp;lt;/span&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 function TCollection.Add: TCollectionItem;&lt;br /&gt;
 begin&lt;br /&gt;
     Result := FItemClass.Create(Self);&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt; appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Create&amp;lt;/span&amp;gt; de la classe référencée par le champ &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;FItemClass&amp;lt;/span&amp;gt;, qui est toujours un descendant de TCollectionItem. &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TCollectionItem.Create&amp;lt;/span&amp;gt; ne prend qu&#039;un seul paramètre de type TCollection, donc &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt; le transmet à l&#039;objet instance de TCollection où &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt; est appelée. Cela est illustré dans le code suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 var MyCollection: TCollection;&lt;br /&gt;
     ...&lt;br /&gt;
     MyCollection.Add   // MyCollection is passed to the &lt;br /&gt;
                        // TCollectionItem.Create method&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Self&#039;&#039;&#039; est utile pour diverses raisons. Par exemple, un identificateur de membre déclaré dans un type classe peut être redéclaré dans le bloc de l&#039;une des méthodes de la classe. Dans ce cas, vous pouvez accéder à l&#039;identificateur du membre d&#039;origine en utilisant &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Self.Identifier&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations sur &#039;&#039;&#039;Self&#039;&#039;&#039; dans les méthodes de classe, voir &amp;quot;Opérateurs de classes&amp;quot; dans [[Références de classes|Références de classes]].&lt;br /&gt;
&lt;br /&gt;
==Liaison de méthode==&lt;br /&gt;
&lt;br /&gt;
Les liaisons de méthodes peuvent être &#039;&#039;&#039;statiques&#039;&#039;&#039; (par défaut), &#039;&#039;&#039;virtuelles&#039;&#039;&#039; ou &#039;&#039;&#039;dynamiques&#039;&#039;&#039;. Les méthodes virtuelles et dynamiques peuvent être redéfinies et elles peuvent être abstraites. Ces désignations jouent un rôle quand une variable d&#039;un type classe contient une valeur d&#039;un type classe descendant. Elles déterminent quelle implémentation est activée lors de l&#039;appel d&#039;une méthode.&lt;br /&gt;
&lt;br /&gt;
===Méthodes statiques===&lt;br /&gt;
&lt;br /&gt;
Par défaut les méthodes sont statiques. Quand une méthode statique est appelée, le type déclaré (à la compilation) de la variable classe ou objet utilisé dans l&#039;appel de la méthode détermine l&#039;implémentation à activer. Dans l&#039;exemple suivant, les méthodes &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Draw&amp;lt;/span&amp;gt; sont statiques :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
     TFigure = class&lt;br /&gt;
       procedure Draw;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
     TRectangle = class(TFigure)&lt;br /&gt;
       procedure Draw;&lt;br /&gt;
     end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Etant donné ces déclarations, le code suivant illustre l&#039;effet de l&#039;appel d&#039;une méthode statique. Dans le second appel à &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Figure.Draw&amp;lt;/span&amp;gt;, la variable &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Figure&amp;lt;/span&amp;gt; référence un objet de classe &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TRectangle&amp;lt;/span&amp;gt;, mais l&#039;appel invoque l&#039;implémentation de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Draw&amp;lt;/span&amp;gt; dans &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TFigure&amp;lt;/span&amp;gt;, car le type déclaré de la variable &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Figure&amp;lt;/span&amp;gt; est &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TFigure&amp;lt;/span&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
     Figure: TFigure;&lt;br /&gt;
     Rectangle: TRectangle;&lt;br /&gt;
 &lt;br /&gt;
     begin&lt;br /&gt;
             Figure := TFigure.Create;&lt;br /&gt;
             Figure.Draw;              // calls TFigure.Draw&lt;br /&gt;
             Figure.Destroy;&lt;br /&gt;
             Figure := TRectangle.Create;&lt;br /&gt;
             Figure.Draw;              // calls TFigure.Draw&lt;br /&gt;
 &lt;br /&gt;
             TRectangle(Figure).Draw;  // calls TRectangle.Draw&lt;br /&gt;
 &lt;br /&gt;
             Figure.Destroy;&lt;br /&gt;
             Rectangle := TRectangle.Create;&lt;br /&gt;
             Rectangle.Draw;          // calls TRectangle.Draw&lt;br /&gt;
             Rectangle.Destroy;&lt;br /&gt;
     end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Méthodes virtuelles et dynamiques===&lt;br /&gt;
&lt;br /&gt;
Pour rendre une méthode &#039;&#039;&#039;virtuelle&#039;&#039;&#039; ou &#039;&#039;&#039;dynamique&#039;&#039;&#039;, incluez la directive &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039; dans sa déclaration. Les méthodes dynamiques et virtuelles, à la différence des méthodes statiques, peuvent être redéfinies dans les classes descendantes. Quand une méthode redéfinie est appelée, le type réel (à l&#039;exécution) de la classe ou de l&#039;objet utilisé dans l&#039;appel de la méthode, et non pas le type déclaré de la variable, détermine l&#039;implémentation à activer.&lt;br /&gt;
&lt;br /&gt;
Pour redéfinir une méthode, redéclarez-la avec la directive &#039;&#039;&#039;override&#039;&#039;&#039;. Une déclaration &#039;&#039;&#039;override&#039;&#039;&#039; doit correspondre à la déclaration de l&#039;ancêtre dans l&#039;ordre et le type de ses paramètres, ainsi que dans son type de résultat (le cas échéant).&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;exemple suivant, la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Draw&amp;lt;/span&amp;gt; déclarée dans &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TFigure&amp;lt;/span&amp;gt; est redéfinie dans deux classes descendantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
     TFigure = class&lt;br /&gt;
       procedure Draw; virtual;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
     TRectangle = class(TFigure)&lt;br /&gt;
       procedure Draw; override;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
     TEllipse = class(TFigure)&lt;br /&gt;
       procedure Draw; override;&lt;br /&gt;
     end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Etant donné ces déclarations, le code suivant illustre l&#039;effet de l&#039;appel d&#039;une méthode virtuelle via une variable dont le type réel change à l&#039;exécution :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
    Figure: TFigure;&lt;br /&gt;
 &lt;br /&gt;
    begin&lt;br /&gt;
      Figure := TRectangle.Create;&lt;br /&gt;
      Figure.Draw;      // calls TRectangle.Draw&lt;br /&gt;
      Figure.Destroy;&lt;br /&gt;
      Figure := TEllipse.Create;&lt;br /&gt;
      Figure.Draw;      // calls TEllipse.Draw&lt;br /&gt;
      Figure.Destroy;&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seules les méthodes &#039;&#039;&#039;virtuelles&#039;&#039;&#039; et &#039;&#039;&#039;dynamiques&#039;&#039;&#039; peuvent être redéfinies. Par contre, toutes les méthodes peuvent être surchargées ; voir [[#Surcharge des méthodes|Surcharge des méthodes]].&lt;br /&gt;
&lt;br /&gt;
====Méthodes finales====&lt;br /&gt;
&lt;br /&gt;
Le compilateur {{Delphi}} prend aussi en charge le concept de méthodes virtuelles et dynamiques &#039;&#039;&#039;finales&#039;&#039;&#039;. Les déclarations des méthodes finales ont la forme suivante :&lt;br /&gt;
&lt;br /&gt;
 function|procedure FunctionName; virtual|dynamic; final; &lt;br /&gt;
&lt;br /&gt;
Ici, la syntaxe &amp;lt;code&amp;gt;virtual|dynamic&amp;lt;/code&amp;gt; (deux mots clé et le symbole &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; entre les mots clés) est utilisée pour spécifier qu&#039;un seul des mots clés &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039; doit être utilisé.  Seul le mot clé &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039; n&#039;a de sens; le symbole de tuyau lui-même doit être supprimé.&lt;br /&gt;
&lt;br /&gt;
Seul le mot clé &#039;&#039;&#039;final&#039;&#039;&#039; est appliqué à une méthode virtuelle ou dynamique, aucune classe descendante ne peut redéfinir cette methode. L&#039;usage du mot clé &#039;&#039;&#039;final&#039;&#039;&#039; est une décision de conception importante qui permet de définir l&#039;utilisation de la classe. Il peut aussi donner au compilateur des conseils lui permettant d&#039;optimiser le code produit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Les mots clés &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039; doivent être écrits avant le mot clé &#039;&#039;&#039;final&#039;&#039;&#039;.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  Base = class&lt;br /&gt;
    procedure TestProcedure; virtual;&lt;br /&gt;
    procedure TestFinalProcedure; virtual; final;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  Derived = class(Base)&lt;br /&gt;
    procedure TestProcedure; override;&lt;br /&gt;
       //Ill-formed: E2352 Cannot override a final method&lt;br /&gt;
    procedure TestFinalProcedure; override;&lt;br /&gt;
  end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Comparaison des méthodes virtuelles et des méthodes dynamiques====&lt;br /&gt;
&lt;br /&gt;
Dans {{Delphi}} pour Win32, d&#039;un point de vue sémantique, les méthodes virtuelles et les méthodes dynamiques sont équivalentes. Toutefois, elles diffèrent dans l&#039;implémentation de la répartition de l&#039;appel de méthode à l&#039;exécution : les méthodes virtuelles optimisent la rapidité alors que les méthodes dynamiques optimisent la taille du code.&lt;br /&gt;
&lt;br /&gt;
En général, les méthodes virtuelles constituent la manière la plus efficace d&#039;implémenter un comportement polymorphique. Les méthodes dynamiques sont utiles quand une classe de base déclare de nombreuses méthodes pouvant être redéfinies qui sont héritées par de nombreuses classes descendantes d&#039;une application, mais rarement redéfinies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; N&#039;utilisez les méthodes dynamiques que s&#039;il existe un avantage clair et visible de le faire. Utilisez habituellement les méthodes virtuelles.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Redéfinition ou dissimulation====&lt;br /&gt;
&lt;br /&gt;
Si une déclaration de méthode spécifie le même identificateur de méthode et la même signature de paramètre qu&#039;une méthode héritée, sans spécifier &#039;&#039;&#039;override&#039;&#039;&#039;, la nouvelle déclaration masque ou dissimule simplement la méthode héritée sans la redéfinir. Les deux méthodes existent alors dans la classe descendante, où le nom de méthode est lié statiquement. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
    T1 = class(TObject)&lt;br /&gt;
       procedure Act; virtual;&lt;br /&gt;
    end;&lt;br /&gt;
 &lt;br /&gt;
    T2 = class(T1)&lt;br /&gt;
       procedure Act;   // Act is redeclared, but not overridden&lt;br /&gt;
    end;&lt;br /&gt;
 &lt;br /&gt;
 var&lt;br /&gt;
    SomeObject: T1;&lt;br /&gt;
 &lt;br /&gt;
 begin&lt;br /&gt;
    SomeObject := T2.Create;&lt;br /&gt;
    SomeObject.Act;    // calls T1.Act&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reintroduce====&lt;br /&gt;
&lt;br /&gt;
La directive &#039;&#039;&#039;reintroduce&#039;&#039;&#039; supprime les avertissements du compilateur informant qu&#039;une méthode virtuelle précédemment déclarée est masquée. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure DoSomething; reintroduce; // The ancestor class also &lt;br /&gt;
                                     // has a DoSomething method&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilisez &#039;&#039;&#039;reintroduce&#039;&#039;&#039; quand vous voulez masquer une méthode virtuelle héritée par une nouvelle méthode.&lt;br /&gt;
&lt;br /&gt;
====Méthodes abstraites====&lt;br /&gt;
&lt;br /&gt;
Une méthode abstraite est une méthode virtuelle ou dynamique n&#039;ayant pas d&#039;implémentation dans la classe où elle est déclarée. Son implémentation est déléguée à une classe descendante. Les méthodes abstraites doivent être déclarées en spécifiant la directive &#039;&#039;&#039;abstract&#039;&#039;&#039; après &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039;. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure DoSomething; virtual; abstract;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous ne pouvez appeler une méthode &#039;&#039;&#039;abstraite&#039;&#039;&#039; que dans une classe ou une instance d&#039;une classe dans laquelle la méthode a été redéfinie.&lt;br /&gt;
&lt;br /&gt;
==Méthodes de classe==&lt;br /&gt;
&lt;br /&gt;
La plupart des méthodes sont appelées méthodes d&#039;instance, car elles opèrent sur une instance individuelle d&#039;un objet. Une méthode de classe est une méthode (autre qu&#039;un constructeur) qui agit sur des classes et pas sur des objets. Il existe deux types de méthodes de classe : les méthodes de classe ordinaires et les méthodes statiques de classe.&lt;br /&gt;
&lt;br /&gt;
===Méthodes de classe ordinaires===&lt;br /&gt;
&lt;br /&gt;
La définition d&#039;une méthode de classe doit commencer par le mot réservé &#039;&#039;&#039;class&#039;&#039;&#039;. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TFigure = class&lt;br /&gt;
   public&lt;br /&gt;
      class function Supports(Operation: string): Boolean; virtual;&lt;br /&gt;
      class procedure GetInfo(var Info: TFigureInfo); virtual;&lt;br /&gt;
      ...&lt;br /&gt;
   end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La déclaration de définition d&#039;une méthode de classe doit aussi commencer par &#039;&#039;&#039;class&#039;&#039;&#039;. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 class procedure TFigure.GetInfo(var Info: TFigureInfo);&lt;br /&gt;
 begin&lt;br /&gt;
     ...&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans la déclaration de définition d&#039;une méthode de classe, l&#039;identificateur &#039;&#039;&#039;Self&#039;&#039;&#039; représente la classe où la méthode est appelée (ce peut être un descendant de la classe dans laquelle elle est définie). Si la méthode est appelée dans la classe &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;, alors &#039;&#039;&#039;Self&#039;&#039;&#039; est de type class of &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;. Vous ne pouvez donc pas utiliser &#039;&#039;&#039;Self&#039;&#039;&#039; pour accéder à des champs d&#039;instance, des propriétés d&#039;instance et des méthodes normales (objet). Vous pouvez utiliser &#039;&#039;&#039;Self&#039;&#039;&#039; pour appeler les constructeurs ou d&#039;autres méthodes de classe, ou pour accéder aux propriétés de classe et aux champs de classe.&lt;br /&gt;
&lt;br /&gt;
Une méthode de classe peut être appelée via une référence de classe ou une référence d&#039;objet. Quand elle est appelée via une référence d&#039;objet, la classe de l&#039;objet devient la valeur de &#039;&#039;&#039;Self&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Méthodes statiques de classe===&lt;br /&gt;
&lt;br /&gt;
Comme les méthodes de classe, les méthodes statiques de classe peuvent être accessibles sans une référence d&#039;objet. A la différence des méthodes de classe ordinaires, les méthodes statiques de classe n&#039;ont pas de paramètre &#039;&#039;&#039;Self&#039;&#039;&#039;. Elles ne peuvent pas accéder aux membres d&#039;instance. Elles peuvent toujours accéder aux champs de classe, aux propriétés de classe et aux méthodes de classe. En outre, contrairement aux méthodes de classe, les méthodes statiques de classe ne peuvent pas être déclarées &#039;&#039;&#039;virtual&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour rendre une méthode de classe statique, ajoutez le mot &#039;&#039;&#039;static&#039;&#039;&#039; à leur déclaration, par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
    TMyClass = class&lt;br /&gt;
      strict private&lt;br /&gt;
        class var&lt;br /&gt;
          FX: Integer;&lt;br /&gt;
 &lt;br /&gt;
      strict protected&lt;br /&gt;
        // Note: Accessors for class properties&lt;br /&gt;
        // must be declared class static.&lt;br /&gt;
        class function GetX: Integer; static;&lt;br /&gt;
        class procedure SetX(val: Integer); static;&lt;br /&gt;
 &lt;br /&gt;
      public&lt;br /&gt;
        class property X: Integer read GetX write SetX;&lt;br /&gt;
        class procedure StatProc(s: String); static;&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme pour une méthode de classe, vous pouvez appeler une méthode statique de classe par l&#039;intermédiaire du type de la classe (par exemple, sans référence d&#039;objet), comme suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 TMyClass.X := 17;&lt;br /&gt;
 TMyClass.StatProc(&#039;Hello&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surcharge des méthodes==&lt;br /&gt;
&lt;br /&gt;
Une méthode peut être redéclarée en utilisant la directive &#039;&#039;&#039;overload&#039;&#039;&#039;. Dans ce cas, si la méthode redéclarée a une signature de paramètre différente de celle de son ancêtre, elle surcharge la méthode héritée sans la cacher. L&#039;appel de la méthode dans une classe descendante active l&#039;implémentation qui correspond aux paramètres de l&#039;appel.&lt;br /&gt;
&lt;br /&gt;
Si vous surchargez une méthode virtuelle, utilisez la directive &#039;&#039;&#039;reintroduce&#039;&#039;&#039; quand vous la redéclarez dans les classes descendantes. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   T1 = class(TObject)&lt;br /&gt;
     procedure Test(I: Integer); overload; virtual;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
   T2 = class(T1)&lt;br /&gt;
     procedure Test(S: string); reintroduce; overload;&lt;br /&gt;
   end;&lt;br /&gt;
   ...&lt;br /&gt;
 &lt;br /&gt;
 SomeObject := T2.Create;&lt;br /&gt;
 SomeObject.Test(&#039;Hello!&#039;);       // calls T2.Test&lt;br /&gt;
 SomeObject.Test(7);              // calls T1.Test&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans une classe, vous ne pouvez pas publier plusieurs méthodes surchargées portant le même nom. La maintenance des informations de type à l&#039;exécution requiert un nom unique pour chaque membre &#039;&#039;&#039;publié&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
     TSomeClass = class&lt;br /&gt;
       published&lt;br /&gt;
         function Func(P: Integer): Integer;&lt;br /&gt;
         function Func(P: Boolean): Integer;   // error&lt;br /&gt;
           ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les méthodes qui servent de spécificateurs de &#039;&#039;&#039;lecture&#039;&#039;&#039; ou d&#039;&#039;&#039;&#039;écriture&#039;&#039;&#039; de propriétés ne peuvent pas être surchargées.&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation d&#039;une méthode surchargée doit répéter la liste des paramètres depuis la déclaration de classe. Pour davantage d&#039;informations sur la surcharge, voir [[Procédures et fonctions (Delphi)#Surcharge de procédures et de fonctions|Surcharge de procédures et de fonctions]] dans [[Procédures et fonctions (Delphi)|Procédures et fonctions (Delphi)]].&lt;br /&gt;
&lt;br /&gt;
==Constructeurs==&lt;br /&gt;
&lt;br /&gt;
Un constructeur est une méthode spéciale qui crée et initialise des instances d&#039;objet. La déclaration d&#039;un constructeur ressemble à celle d&#039;une procédure, sauf qu&#039;elle commence par le mot &#039;&#039;&#039;constructor&#039;&#039;&#039;. Exemples :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 constructor Create;&lt;br /&gt;
 constructor Create(AOwner: TComponent);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les constructeurs doivent utiliser la convention d&#039;appel &#039;&#039;&#039;register&#039;&#039;&#039; par défaut. Bien que la déclaration ne spécifie pas de valeur de retour, un constructeur renvoie une référence à l&#039;objet qu&#039;il a créé ou qui est appelé.&lt;br /&gt;
&lt;br /&gt;
Une classe peut avoir plusieurs constructeurs mais doit en avoir au moins un. L&#039;habitude veut qu&#039;on appelle le constructeur &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Create&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour créer un objet, appelez la méthode constructeur sur un type classe. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 MyObject := TMyClass.Create;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette instruction alloue le stockage pour le nouvel objet, définit la valeur de tous les champs ordinaux sur zéro, assigne &#039;&#039;&#039;nil&#039;&#039;&#039; à tous les champs de type pointeur ou de type classe, et une chaîne vide à tous les champs chaîne. Les autres actions spécifiées dans l&#039;implémentation du constructeur sont effectuées ensuite. Généralement, les objets sont initialisés en fonction des valeurs transmises comme paramètres au constructeur. Enfin, le constructeur renvoie une référence à l&#039;objet qui vient d&#039;être créé et initialisé. Le type de la valeur de retour est le même que le type classe spécifié dans l&#039;appel du constructeur.&lt;br /&gt;
&lt;br /&gt;
Si une exception est déclenchée lors de l&#039;exécution d&#039;un constructeur invoqué sur une référence de classe, le destructeur &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Destroy&amp;lt;/span&amp;gt; est appelé automatiquement pour détruire l&#039;objet inachevé.&lt;br /&gt;
&lt;br /&gt;
Quand un constructeur est appelé en utilisant une référence d&#039;objet (au lieu d&#039;une référence de classe), il ne crée pas d&#039;objet. Le constructeur agit à la place sur l&#039;objet spécifié, en n&#039;exécutant que les instructions de l&#039;implémentation du constructeur et renvoie ensuite une référence à l&#039;objet. Un constructeur est typiquement invoqué sur une référence d&#039;objet en conjonction avec le mot réservé &#039;&#039;&#039;inherited&#039;&#039;&#039; afin d&#039;exécuter un constructeur hérité.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple du type classe et de son constructeur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
  type&lt;br /&gt;
    TShape = class(TGraphicControl)&lt;br /&gt;
      private&lt;br /&gt;
        FPen: TPen;&lt;br /&gt;
        FBrush: TBrush;&lt;br /&gt;
        procedure PenChanged(Sender: TObject);&lt;br /&gt;
        procedure BrushChanged(Sender: TObject);&lt;br /&gt;
      public&lt;br /&gt;
        constructor Create(Owner: TComponent); override;&lt;br /&gt;
        destructor Destroy; override;&lt;br /&gt;
        ...&lt;br /&gt;
    end;&lt;br /&gt;
 &lt;br /&gt;
 constructor TShape.Create(Owner: TComponent);&lt;br /&gt;
 begin&lt;br /&gt;
     inherited Create(Owner);     // Initialize inherited parts&lt;br /&gt;
     Width := 65;          // Change inherited properties&lt;br /&gt;
     Height := 65;&lt;br /&gt;
     FPen := TPen.Create;  // Initialize new fields&lt;br /&gt;
     FPen.OnChange := PenChanged;&lt;br /&gt;
     FBrush := TBrush.Create;&lt;br /&gt;
     FBrush.OnChange := BrushChanged;&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Généralement, la première action d&#039;un constructeur est d&#039;appeler le constructeur hérité afin d&#039;initialiser les champs hérités de l&#039;objet. Le constructeur initialise ensuite les champs introduits dans la classe descendante. Comme un constructeur efface toujours le stockage alloué à un nouvel objet, tous les champs contiennent au départ zéro (pour les types ordinaux), &#039;&#039;&#039;nil&#039;&#039;&#039; (types pointeur et classe), chaîne vide (types chaîne) ou Unassigned (variants). Il n&#039;est donc pas nécessaire que l&#039;implémentation du constructeur initialise les champs sauf ceux devant contenir une valeur non nulle ou non vide.&lt;br /&gt;
&lt;br /&gt;
Quand il est invoqué par le biais d&#039;un identificateur de type classe, un constructeur déclaré comme &#039;&#039;&#039;virtual&#039;&#039;&#039; est équivalent à un constructeur statique. Quand ils sont combinés avec des types référence de classe, les constructeurs virtuels permettent une construction polymorphique des objets, c&#039;est-à-dire la construction d&#039;objets dont le type est inconnu à la compilation. (Voir [[Références de classes|Références de classes]].)&lt;br /&gt;
&lt;br /&gt;
==Destructeurs==&lt;br /&gt;
&lt;br /&gt;
Un destructeur est une méthode spéciale qui détruit l&#039;objet à l&#039;endroit de son appel et libère sa mémoire. La déclaration d&#039;un destructeur ressemble à celle d&#039;une procédure, mais elle commence par le mot &#039;&#039;&#039;destructor&#039;&#039;&#039;. Exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 destructor SpecialDestructor(SaveData: Boolean);&lt;br /&gt;
 destructor Destroy; override;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les destructeurs sur Win32 doivent utiliser la convention d&#039;appel &#039;&#039;&#039;register&#039;&#039;&#039; par défaut. Même si une classe peut avoir plusieurs destructeurs, il est conseillé que chaque classe redéfinisse la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Destroy&amp;lt;/span&amp;gt; héritée et ne déclare pas d&#039;autres destructeurs.&lt;br /&gt;
&lt;br /&gt;
Pour appeler un destructeur, vous devez référencer une instance d&#039;objet. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 MyObject.Destroy;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;appel d&#039;un destructeur, les actions spécifiées dans l&#039;implémentation du destructeur sont d&#039;abord exécutées. Typiquement, cela consiste à détruire les objets incorporés et à libérer les ressources allouées par l&#039;objet. Ensuite, le stockage alloué à l&#039;objet est libéré.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple d&#039;implémentation d&#039;un destructeur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 destructor TShape.Destroy;&lt;br /&gt;
 begin&lt;br /&gt;
     FBrush.Free;&lt;br /&gt;
     FPen.Free;&lt;br /&gt;
     inherited Destroy;&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Typiquement, la dernière action de l&#039;implémentation d&#039;un destructeur est l&#039;appel du destructeur hérité afin de détruire les champs hérités de l&#039;objet.&lt;br /&gt;
&lt;br /&gt;
Quand une exception est déclenchée lors de la création d&#039;un objet, Destroy est appelée automatiquement afin de libérer l&#039;objet inachevé. Cela signifie que &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Destroy&amp;lt;/span&amp;gt; doit être préparé à libérer des objets partiellement construits. Comme un constructeur définit les champs d&#039;un nouvel objet sur zéro ou sur des valeurs vides avant d&#039;effectuer d&#039;autres actions, les champs de type classe ou pointeur d&#039;un objet partiellement construit sont toujours définis sur &#039;&#039;&#039;nil&#039;&#039;&#039;. Un destructeur doit donc tester les valeurs &#039;&#039;&#039;nil&#039;&#039;&#039; avant d&#039;agir sur des champs de type classe ou pointeur. L&#039;appel de la méthode &#039;&#039;&#039;Free&#039;&#039;&#039; (définie dans TObject) au lieu de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Destroy&amp;lt;/span&amp;gt;, permet de tester facilement les valeurs &#039;&#039;&#039;nil&#039;&#039;&#039; avant de détruire un objet.&lt;br /&gt;
&lt;br /&gt;
==Constructeurs de classes==&lt;br /&gt;
&lt;br /&gt;
Un constructeur de classe est une méthode de classe spéciale qui n&#039;est pas accessible aux développeurs. Les appels des constructeurs de classes sont automatiquement insérés par le compilateur dans la section d&#039;initialisation de l&#039;unité où la classe est définie. Normalement, les constructeurs de classes sont utilisés pour initialiser les champs statiques de la classe ou effectuer un type d&#039;initialisation, nécessaire avant que la classe ou toute instance de classe puisse fonctionner correctement. Bien que le même résultat puisse être obtenu en plaçant le code d&#039;initialisation de la classe dans la section &#039;&#039;initialization&#039;&#039;, les constructeurs de classes ont l&#039;avantage d&#039;aider le compilateur à déterminer les classes qui doivent être incluses dans le fichier binaire final et celles qui doivent être retirées.&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant illustre la façon habituelle d&#039;initialiser les champs de classes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TBox = class&lt;br /&gt;
   private&lt;br /&gt;
     class var FList: TList&amp;lt;Integer&amp;gt;;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 initialization&lt;br /&gt;
   { Initialize the static FList member }&lt;br /&gt;
   TBox.FList := TList&amp;lt;Integer&amp;gt;.Create();&lt;br /&gt;
 &lt;br /&gt;
 end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette méthode a un gros désavantage : même si une application peut inclure l&#039;unité dans laquelle &#039;&#039;&#039;TBox&#039;&#039;&#039; est déclaré, elle ne peut jamais réellement utiliser la classe &#039;&#039;&#039;TBox&#039;&#039;&#039;. Dans l&#039;exemple en cours, la classe TBox est incluse dans le binaire résultant, car elle est référencée dans la section initialization. Pour alléger ce problème, considérons l&#039;utilisation des constructeurs de classes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TBox = class&lt;br /&gt;
   private&lt;br /&gt;
     class var FList: TList&amp;lt;Integer&amp;gt;;&lt;br /&gt;
     class constructor Create;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 class constructor TBox.Create;&lt;br /&gt;
 begin&lt;br /&gt;
   { Initialize the static FList member }&lt;br /&gt;
   FList := TList&amp;lt;Integer&amp;gt;.Create();&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans ce cas, le compilateur vérifie si TBox est réellement utilisé quelque part dans l&#039;application, et en cas d&#039;utilisation, un appel au constructeur de classe est ajouté automatiquement à la section initialization de l&#039;unité.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Même si le compilateur fait attention à l&#039;ordre d&#039;initialisation des classes, l&#039;ordre peut devenir aléatoire dans certains scénarios complexes. Cela se produit quand le constructeur d&#039;une classe dépend de l&#039;état d&#039;une autre classe qui, à son tour, dépend de la première classe.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Le constructeur de classe relatif à un enregistrement ou une classe générique peut s&#039;exécuter plusieurs fois. Le nombre exact de fois que le constructeur de classe est exécuté dans ce cas dépend du nombre de versions spécialisées du type générique. Par exemple, le constructeur de classe pour une classe &#039;&#039;TList&amp;amp;lt;String&amp;amp;gt;&#039;&#039; spécialisée peut s&#039;exécuter plusieurs fois dans la même application.&lt;br /&gt;
&lt;br /&gt;
==Destructeurs de classes==&lt;br /&gt;
&lt;br /&gt;
Les destructeurs de classes sont l&#039;opposé des constructeurs de classes, dans le fait qu&#039;ils réalisent la finalisation de la classe. Les destructeurs de classes présentent les mêmes avantages que les constructeurs de classes, à l&#039;exception des fonctions de &#039;&#039;finalisation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant est construit sur l&#039;exemple présenté dans les constructeurs de classes et il introduit la routine de finalisation :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TBox = class&lt;br /&gt;
   private&lt;br /&gt;
     class var FList: TList&amp;lt;Integer&amp;gt;;&lt;br /&gt;
     class constructor Create;&lt;br /&gt;
     class destructor Destroy;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 class constructor TBox.Create;&lt;br /&gt;
 begin&lt;br /&gt;
   { Initialize the static FList member }&lt;br /&gt;
   FList := TList&amp;lt;Integer&amp;gt;.Create();&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 class destructor TBox.Destroy;&lt;br /&gt;
 begin&lt;br /&gt;
   { Finalize the static FList member }&lt;br /&gt;
   FList.Free;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Le destructeur de classe relatif à un enregistrement ou une classe générique peut s&#039;exécuter plusieurs fois. Le nombre exact de fois que le destructeur de classe est exécuté dans ce cas dépend du nombre de versions spécialisées du type générique. Par exemple, le destructeur de classe pour une classe &#039;&#039;TList&amp;amp;lt;String&amp;amp;gt;&#039;&#039; spécialisée peut s&#039;exécuter plusieurs fois dans la même application.&lt;br /&gt;
&lt;br /&gt;
==Méthodes de messages==&lt;br /&gt;
&lt;br /&gt;
Les méthodes de messages implémentent des réponses à des messages répartis dynamiquement. La syntaxe des méthodes de messages est supportée sur toutes les plates-formes.  &amp;lt;f s=&amp;quot;vcl&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt;La VCL utilise des méthodes de messages pour répondre aux messages Windows. &amp;lt;f e=&amp;quot;vcl&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une méthode de message est créée en incluant la directive &#039;&#039;&#039;message&#039;&#039;&#039; dans une déclaration de méthode, suivie d&#039;une constante entière comprise entre 1 et 49151 qui spécifie l&#039;identificateur du message.  &amp;lt;f s=&amp;quot;vcl&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt; Pour les méthodes de messages des contrôles VCL, la constante entière peut être l&#039;un des identificateurs de messages Win32, avec les types d&#039;enregistrements correspondants, dans l&#039;unité &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Messages&amp;lt;/span&amp;gt;. &amp;lt;f e=&amp;quot;vcl&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt; Une méthode de message doit être une procédure qui n&#039;attend qu&#039;un seul paramètre &#039;&#039;&#039;var&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
     TTextBox = class(TCustomControl)&lt;br /&gt;
       private&lt;br /&gt;
        procedure WMChar(var Message: TWMChar); message WM_CHAR;&lt;br /&gt;
        ...&lt;br /&gt;
     end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une méthode de message n&#039;a pas besoin d&#039;inclure la directive &#039;&#039;&#039;override&#039;&#039;&#039; pour redéfinir une méthode de message héritée. En fait, il n&#039;est pas nécessaire de spécifier le même nom de méthode ou type de paramètre que la méthode qu&#039;elle redéfinit. L&#039;identificateur du message détermine seul les messages auxquels la méthode répond et s&#039;il s&#039;agit d&#039;une redéfinition.&lt;br /&gt;
&lt;br /&gt;
===Implémentation des méthodes de messages===&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation d&#039;une méthode de message peut appeler la méthode de message héritée, comme dans l&#039;exemple suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure TTextBox.WMChar(var Message: TWMChar);&lt;br /&gt;
 begin&lt;br /&gt;
    if Message.CharCode = Ord(#13) then&lt;br /&gt;
       ProcessEnter&lt;br /&gt;
    else&lt;br /&gt;
       inherited;&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;instruction &#039;&#039;&#039;inherited&#039;&#039;&#039; effectue une recherche arrière dans la hiérarchie des classes et invoque la première méthode de message ayant le même identificateur que la méthode en cours, et lui transmet automatiquement l&#039;enregistrement message. Si aucune classe ancêtre n&#039;implémente de méthode de message pour l&#039;identificateur spécifié, &#039;&#039;&#039;inherited&#039;&#039;&#039; appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt; définie initialement dans TObject.&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt; dans TObject rend simplement le contrôle sans rien faire. En redéfinissant &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt;, une classe peut implémenter sa propre gestion par défaut des messages. Sous Win32, la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt; pour les contrôles appelle &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefWindowProc&amp;lt;/span&amp;gt; de l&#039;API Win32.&lt;br /&gt;
&lt;br /&gt;
===Répartition des messages===&lt;br /&gt;
&lt;br /&gt;
Les gestionnaires de messages sont rarement appelés directement. A la place, les messages sont répartis sur un objet en utilisant la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dispatch&amp;lt;/span&amp;gt; héritée de TObject :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure Dispatch(var Message);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le paramètre &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Message&amp;lt;/span&amp;gt; transmis à &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dispatch&amp;lt;/span&amp;gt; doit être un enregistrement dont la première entrée est un champ de type &#039;&#039;&#039;Word&#039;&#039;&#039; contenant un identificateur de message.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dispatch&amp;lt;/span&amp;gt; effectue une recherche arrière dans la hiérarchie des classes, en commençant par la classe de l&#039;objet où elle est appelée, et invoque la première méthode de message pour l&#039;identificateur qui lui a été transmis. Si aucune méthode de message n&#039;est trouvée pour l&#039;identificateur donné, &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dispatch&amp;lt;/span&amp;gt; appelle &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Classes et objets (Delphi)|Classes et objets (Delphi)]]&lt;br /&gt;
*[[Champs (Delphi)|Champs (Delphi)]]&lt;br /&gt;
*[[Propriétés (Delphi)|Propriétés (Delphi)]]&lt;br /&gt;
*[[Déclarations de types imbriqués|Déclarations de types imbriquées]]&lt;br /&gt;
*[[Références de classes|Références de classes]]&lt;br /&gt;
*[[Exceptions (Delphi)|Exceptions (Delphi)]]&lt;br /&gt;
*[[Surcharge d&#039;opérateurs (Delphi)|Surcharge d&#039;opérateurs (Delphi)]]&lt;br /&gt;
*[[Assistances de classes et d&#039;enregistrements (Delphi)|Assistances de classes et d&#039;enregistrements (Delphi)]]&lt;br /&gt;
* [[Procédures et fonctions (Delphi)|Procédures et fonctions (Delphi)]]&lt;br /&gt;
* [[Contrôle des programmes (Delphi)|Contrôle des programmes (Delphi)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:Guide du langage Delphi]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=M%C3%A9thodes_(Delphi)&amp;diff=213753</id>
		<title>Méthodes (Delphi)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=M%C3%A9thodes_(Delphi)&amp;diff=213753"/>
		<updated>2020-08-26T10:14:41Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-RS82965&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Classes et objets - Index}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;reintroduce&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;overload&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;abstract&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;virtual&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;dynamic&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;register&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;pascal&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;cdecl&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;stdcall&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;safecall&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;platform&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;deprecated&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;library&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;inherited&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;Self&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;override&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;final&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;class&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;read&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;write&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;constructor&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;nill&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;if&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;destructor&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;message&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;DefaultHandler&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;Dispatch&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
Une méthode est une procédure ou une fonction associée à une classe. Un appel de méthode spécifie l&#039;objet (ou la classe si c&#039;est une méthode de classe) sur lequel la méthode agit. Par exemple, &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;SomeObject.Free&amp;lt;/span&amp;gt; appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Free&amp;lt;/span&amp;gt; de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;SomeObject&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette rubrique couvre les sujets suivants :&lt;br /&gt;
&lt;br /&gt;
* Déclarations et implémentations de méthodes&lt;br /&gt;
* Liaison de méthodes&lt;br /&gt;
* Surcharge de méthodes&lt;br /&gt;
* Constructeurs et destructeurs&lt;br /&gt;
* Méthodes de messages&lt;br /&gt;
&lt;br /&gt;
==A propos des méthodes==&lt;br /&gt;
&lt;br /&gt;
Au sein d&#039;une déclaration de classe, les méthodes apparaissent comme des en-têtes de procédures ou de fonctions qui fonctionnent comme les déclarations &#039;&#039;&#039;forward&#039;&#039;&#039;. Quelque part après la déclaration de classe, mais à l&#039;intérieur du même module, chaque méthode doit être implémentée par une déclaration de définition. Si; par exemple, la déclaration de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TMyClass&amp;lt;/span&amp;gt; contient une méthode appelée &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DoSomething&amp;lt;/span&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
    TMyClass = class(TObject)&lt;br /&gt;
       ...&lt;br /&gt;
       procedure DoSomething;&lt;br /&gt;
       ...&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une déclaration de définition pour &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DoSomething&amp;lt;/span&amp;gt; doit apparaître plus loin dans le module :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure TMyClass.DoSomething;&lt;br /&gt;
 begin&lt;br /&gt;
      ...&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si une classe peut être déclarée dans la section interface ou la section implementation d&#039;une unité, les déclarations de définition des méthodes de classe doivent se trouver dans la section implementation.&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;en-tête d&#039;une déclaration de définition, le nom de la méthode est toujours qualifié par le nom de la classe à laquelle elle appartient. L&#039;en-tête peut répéter la liste de paramètres depuis la déclaration de classe ; si c&#039;est le cas, l&#039;ordre, le type et le nom des paramètres doivent correspondre exactement et, si la méthode est une fonction, la valeur de retour doit aussi correspondre.&lt;br /&gt;
&lt;br /&gt;
Les déclarations des méthodes peuvent inclure des directives spéciales qui ne sont pas utilisées par d&#039;autres fonctions ou procédures. Les directives doivent apparaître uniquement dans la déclaration de classe et pas dans la déclaration de définition, et doivent toujours être dans l&#039;ordre suivant :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;reintroduce&#039;&#039;&#039;; &#039;&#039;&#039;overload&#039;&#039;&#039;; [[#Liaison de méthode|liaison]]; [[Procédures et fonctions (Delphi)#Conventions d&#039;appel|convention d&#039;appel]]; &#039;&#039;&#039;abstract&#039;&#039;&#039;; [[Déclarations et instructions (Delphi)#Directives de conseil|avertissement]]&lt;br /&gt;
&lt;br /&gt;
Où :&lt;br /&gt;
&lt;br /&gt;
* [[#Liaison de méthode|liaison]] correspond à &#039;&#039;&#039;virtual&#039;&#039;&#039;, &#039;&#039;&#039;dynamic&#039;&#039;&#039; ou &#039;&#039;&#039;override&#039;&#039;&#039; ;&lt;br /&gt;
* [[Procédures et fonctions (Delphi)#Conventions d&#039;appel|convention d&#039;appel]] correspond à &#039;&#039;&#039;register&#039;&#039;&#039;, &#039;&#039;&#039;pascal&#039;&#039;&#039;, &#039;&#039;&#039;cdecl&#039;&#039;&#039;, &#039;&#039;&#039;stdcall&#039;&#039;&#039;, or &#039;&#039;&#039;safecall&#039;&#039;&#039;;&lt;br /&gt;
* [[Déclarations et instructions (Delphi)#Directives de conseil|avertissement]] correspond à &#039;&#039;&#039;platform&#039;&#039;&#039;, &#039;&#039;&#039;deprecated&#039;&#039;&#039; ou &#039;&#039;&#039;library&#039;&#039;&#039;. Pour plus d&#039;informations sur ces directives d&#039;avertissement (de conseil), voir [[Déclarations et instructions (Delphi)#Directives de conseil|Directives de conseil]].  &lt;br /&gt;
&lt;br /&gt;
Toutes les directives {{Delphi}} sont listées dans [[Eléments syntaxiques fondamentaux (Delphi)#Directives|Directives]].&lt;br /&gt;
&lt;br /&gt;
===Inherited===&lt;br /&gt;
&lt;br /&gt;
Le mot réservé &#039;&#039;&#039;inherited&#039;&#039;&#039; joue un rôle particulier dans l&#039;implémentation de comportements polymorphiques. Il peut apparaître dans une définition de méthode avec ou sans identificateur à la suite.&lt;br /&gt;
&lt;br /&gt;
Si &#039;&#039;&#039;inherited&#039;&#039;&#039; est suivi par le nom d&#039;un membre, il représente un appel de méthode normal ou une référence à une propriété ou à un champ, sauf que la recherche du membre référencé commence avec l&#039;ancêtre immédiat de la classe de la méthode englobante. Par exemple, quand l&#039;instruction :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 inherited Create(...);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
apparaît dans la définition d&#039;une méthode, elle appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Create&amp;lt;/span&amp;gt; héritée.&lt;br /&gt;
&lt;br /&gt;
Quand &#039;&#039;&#039;inherited&#039;&#039;&#039; est utilisé sans être suivi d&#039;un identificateur, il désigne la méthode héritée portant le même nom que la méthode en cours ou, si la méthode en cours est un gestionnaire de message, le gestionnaire de message hérité pour le même message. Dans ce cas, &#039;&#039;&#039;inherited&#039;&#039;&#039; ne prend pas de paramètres explicites, mais transmet à la méthode héritée les paramètres utilisés pour l&#039;appel de la méthode englobante. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 inherited;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
apparaît fréquemment dans l&#039;implémentation des constructeurs. Cette instruction appelle le constructeur hérité avec les mêmes paramètres que ceux transmis au descendant.&lt;br /&gt;
&lt;br /&gt;
===Self===&lt;br /&gt;
&lt;br /&gt;
Au sein de l&#039;implémentation d&#039;une méthode, l&#039;identificateur &#039;&#039;&#039;Self&#039;&#039;&#039; référence l&#039;objet dans lequel la méthode est appelée. Voici, par exemple, l&#039;implémentation de la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt; de TCollection dans l&#039;unité &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Classes&amp;lt;/span&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 function TCollection.Add: TCollectionItem;&lt;br /&gt;
 begin&lt;br /&gt;
     Result := FItemClass.Create(Self);&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt; appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Create&amp;lt;/span&amp;gt; de la classe référencée par le champ &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;FItemClass&amp;lt;/span&amp;gt;, qui est toujours un descendant de TCollectionItem. &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TCollectionItem.Create&amp;lt;/span&amp;gt; ne prend qu&#039;un seul paramètre de type TCollection, donc &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt; le transmet à l&#039;objet instance de TCollection où &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt; est appelée. Cela est illustré dans le code suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 var MyCollection: TCollection;&lt;br /&gt;
     ...&lt;br /&gt;
     MyCollection.Add   // MyCollection is passed to the &lt;br /&gt;
                        // TCollectionItem.Create method&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Self&#039;&#039;&#039; est utile pour diverses raisons. Par exemple, un identificateur de membre déclaré dans un type classe peut être redéclaré dans le bloc de l&#039;une des méthodes de la classe. Dans ce cas, vous pouvez accéder à l&#039;identificateur du membre d&#039;origine en utilisant &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Self.Identifier&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour plus d&#039;informations sur &#039;&#039;&#039;Self&#039;&#039;&#039; dans les méthodes de classe, voir &amp;quot;Opérateurs de classes&amp;quot; dans [[Références de classes|Références de classes]].&lt;br /&gt;
&lt;br /&gt;
==Liaison de méthode==&lt;br /&gt;
&lt;br /&gt;
Les liaisons de méthodes peuvent être &#039;&#039;&#039;statiques&#039;&#039;&#039; (par défaut), &#039;&#039;&#039;virtuelles&#039;&#039;&#039; ou &#039;&#039;&#039;dynamiques&#039;&#039;&#039;. Les méthodes virtuelles et dynamiques peuvent être redéfinies et elles peuvent être abstraites. Ces désignations jouent un rôle quand une variable d&#039;un type classe contient une valeur d&#039;un type classe descendant. Elles déterminent quelle implémentation est activée lors de l&#039;appel d&#039;une méthode.&lt;br /&gt;
&lt;br /&gt;
===Méthodes statiques===&lt;br /&gt;
&lt;br /&gt;
Par défaut les méthodes sont statiques. Quand une méthode statique est appelée, le type déclaré (à la compilation) de la variable classe ou objet utilisé dans l&#039;appel de la méthode détermine l&#039;implémentation à activer. Dans l&#039;exemple suivant, les méthodes &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Draw&amp;lt;/span&amp;gt; sont statiques :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
     TFigure = class&lt;br /&gt;
       procedure Draw;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
     TRectangle = class(TFigure)&lt;br /&gt;
       procedure Draw;&lt;br /&gt;
     end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Etant donné ces déclarations, le code suivant illustre l&#039;effet de l&#039;appel d&#039;une méthode statique. Dans le second appel à &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Figure.Draw&amp;lt;/span&amp;gt;, la variable &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Figure&amp;lt;/span&amp;gt; référence un objet de classe &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TRectangle&amp;lt;/span&amp;gt;, mais l&#039;appel invoque l&#039;implémentation de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Draw&amp;lt;/span&amp;gt; dans &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TFigure&amp;lt;/span&amp;gt;, car le type déclaré de la variable &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Figure&amp;lt;/span&amp;gt; est &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TFigure&amp;lt;/span&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
     Figure: TFigure;&lt;br /&gt;
     Rectangle: TRectangle;&lt;br /&gt;
 &lt;br /&gt;
     begin&lt;br /&gt;
             Figure := TFigure.Create;&lt;br /&gt;
             Figure.Draw;              // calls TFigure.Draw&lt;br /&gt;
             Figure.Destroy;&lt;br /&gt;
             Figure := TRectangle.Create;&lt;br /&gt;
             Figure.Draw;              // calls TFigure.Draw&lt;br /&gt;
 &lt;br /&gt;
             TRectangle(Figure).Draw;  // calls TRectangle.Draw&lt;br /&gt;
 &lt;br /&gt;
             Figure.Destroy;&lt;br /&gt;
             Rectangle := TRectangle.Create;&lt;br /&gt;
             Rectangle.Draw;          // calls TRectangle.Draw&lt;br /&gt;
             Rectangle.Destroy;&lt;br /&gt;
     end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Méthodes virtuelles et dynamiques===&lt;br /&gt;
&lt;br /&gt;
Pour rendre une méthode &#039;&#039;&#039;virtuelle&#039;&#039;&#039; ou &#039;&#039;&#039;dynamique&#039;&#039;&#039;, incluez la directive &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039; dans sa déclaration. Les méthodes dynamiques et virtuelles, à la différence des méthodes statiques, peuvent être redéfinies dans les classes descendantes. Quand une méthode redéfinie est appelée, le type réel (à l&#039;exécution) de la classe ou de l&#039;objet utilisé dans l&#039;appel de la méthode, et non pas le type déclaré de la variable, détermine l&#039;implémentation à activer.&lt;br /&gt;
&lt;br /&gt;
Pour redéfinir une méthode, redéclarez-la avec la directive &#039;&#039;&#039;override&#039;&#039;&#039;. Une déclaration &#039;&#039;&#039;override&#039;&#039;&#039; doit correspondre à la déclaration de l&#039;ancêtre dans l&#039;ordre et le type de ses paramètres, ainsi que dans son type de résultat (le cas échéant).&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;exemple suivant, la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Draw&amp;lt;/span&amp;gt; déclarée dans &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TFigure&amp;lt;/span&amp;gt; est redéfinie dans deux classes descendantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
     TFigure = class&lt;br /&gt;
       procedure Draw; virtual;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
     TRectangle = class(TFigure)&lt;br /&gt;
       procedure Draw; override;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
     TEllipse = class(TFigure)&lt;br /&gt;
       procedure Draw; override;&lt;br /&gt;
     end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Etant donné ces déclarations, le code suivant illustre l&#039;effet de l&#039;appel d&#039;une méthode virtuelle via une variable dont le type réel change à l&#039;exécution :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 var&lt;br /&gt;
    Figure: TFigure;&lt;br /&gt;
 &lt;br /&gt;
    begin&lt;br /&gt;
      Figure := TRectangle.Create;&lt;br /&gt;
      Figure.Draw;      // calls TRectangle.Draw&lt;br /&gt;
      Figure.Destroy;&lt;br /&gt;
      Figure := TEllipse.Create;&lt;br /&gt;
      Figure.Draw;      // calls TEllipse.Draw&lt;br /&gt;
      Figure.Destroy;&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seules les méthodes &#039;&#039;&#039;virtuelles&#039;&#039;&#039; et &#039;&#039;&#039;dynamiques&#039;&#039;&#039; peuvent être redéfinies. Par contre, toutes les méthodes peuvent être surchargées ; voir [[#Surcharge des méthodes|Surcharge des méthodes]].&lt;br /&gt;
&lt;br /&gt;
====Méthodes finales====&lt;br /&gt;
&lt;br /&gt;
Le compilateur {{Delphi}} prend aussi en charge le concept de méthodes virtuelles et dynamiques &#039;&#039;&#039;finales&#039;&#039;&#039;. Les déclarations des méthodes finales ont la forme suivante :&lt;br /&gt;
&lt;br /&gt;
 function|procedure FunctionName; virtual|dynamic; final; &lt;br /&gt;
&lt;br /&gt;
Ici, la syntaxe &amp;lt;code&amp;gt;virtual|dynamic&amp;lt;/code&amp;gt; (deux mots clé et le symbole &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; entre les mots clés) est utilisée pour spécifier qu&#039;un seul des mots clés &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039; doit être utilisé.  Seul le mot clé &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039; n&#039;a de sens; le symbole de tuyau lui-même doit être supprimé.&lt;br /&gt;
&lt;br /&gt;
Seul le mot clé &#039;&#039;&#039;final&#039;&#039;&#039; est appliqué à une méthode virtuelle ou dynamique, aucune classe descendante ne peut redéfinir cette methode. L&#039;usage du mot clé &#039;&#039;&#039;final&#039;&#039;&#039; est une décision de conception importante qui permet de définir l&#039;utilisation de la classe. Il peut aussi donner au compilateur des conseils lui permettant d&#039;optimiser le code produit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Les mots clés &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039; doivent être écrits avant le mot clé &#039;&#039;&#039;final&#039;&#039;&#039;.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
  Base = class&lt;br /&gt;
    procedure TestProcedure; virtual;&lt;br /&gt;
    procedure TestFinalProcedure; virtual; final;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
  Derived = class(Base)&lt;br /&gt;
    procedure TestProcedure; override;&lt;br /&gt;
       //Ill-formed: E2352 Cannot override a final method&lt;br /&gt;
    procedure TestFinalProcedure; override;&lt;br /&gt;
  end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Comparaison des méthodes virtuelles et des méthodes dynamiques====&lt;br /&gt;
&lt;br /&gt;
Dans {{Delphi}} pour Win32, d&#039;un point de vue sémantique, les méthodes virtuelles et les méthodes dynamiques sont équivalentes. Toutefois, elles diffèrent dans l&#039;implémentation de la répartition de l&#039;appel de méthode à l&#039;exécution : les méthodes virtuelles optimisent la rapidité alors que les méthodes dynamiques optimisent la taille du code.&lt;br /&gt;
&lt;br /&gt;
En général, les méthodes virtuelles constituent la manière la plus efficace d&#039;implémenter un comportement polymorphique. Les méthodes dynamiques sont utiles quand une classe de base déclare de nombreuses méthodes pouvant être redéfinies qui sont héritées par de nombreuses classes descendantes d&#039;une application, mais rarement redéfinies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; N&#039;utilisez les méthodes dynamiques que s&#039;il existe un avantage clair et visible de le faire. Utilisez habituellement les méthodes virtuelles.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Redéfinition ou dissimulation====&lt;br /&gt;
&lt;br /&gt;
Si une déclaration de méthode spécifie le même identificateur de méthode et la même signature de paramètre qu&#039;une méthode héritée, sans spécifier &#039;&#039;&#039;override&#039;&#039;&#039;, la nouvelle déclaration masque ou dissimule simplement la méthode héritée sans la redéfinir. Les deux méthodes existent alors dans la classe descendante, où le nom de méthode est lié statiquement. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
    T1 = class(TObject)&lt;br /&gt;
       procedure Act; virtual;&lt;br /&gt;
    end;&lt;br /&gt;
 &lt;br /&gt;
    T2 = class(T1)&lt;br /&gt;
       procedure Act;   // Act is redeclared, but not overridden&lt;br /&gt;
    end;&lt;br /&gt;
 &lt;br /&gt;
 var&lt;br /&gt;
    SomeObject: T1;&lt;br /&gt;
 &lt;br /&gt;
 begin&lt;br /&gt;
    SomeObject := T2.Create;&lt;br /&gt;
    SomeObject.Act;    // calls T1.Act&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reintroduce====&lt;br /&gt;
&lt;br /&gt;
La directive &#039;&#039;&#039;reintroduce&#039;&#039;&#039; supprime les avertissements du compilateur informant qu&#039;une méthode virtuelle précédemment déclarée est masquée. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure DoSomething; reintroduce; // The ancestor class also &lt;br /&gt;
                                     // has a DoSomething method&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilisez &#039;&#039;&#039;reintroduce&#039;&#039;&#039; quand vous voulez masquer une méthode virtuelle héritée par une nouvelle méthode.&lt;br /&gt;
&lt;br /&gt;
====Méthodes abstraites====&lt;br /&gt;
&lt;br /&gt;
Une méthode abstraite est une méthode virtuelle ou dynamique n&#039;ayant pas d&#039;implémentation dans la classe où elle est déclarée. Son implémentation est déléguée à une classe descendante. Les méthodes abstraites doivent être déclarées en spécifiant la directive &#039;&#039;&#039;abstract&#039;&#039;&#039; après &#039;&#039;&#039;virtual&#039;&#039;&#039; ou &#039;&#039;&#039;dynamic&#039;&#039;&#039;. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure DoSomething; virtual; abstract;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous ne pouvez appeler une méthode &#039;&#039;&#039;abstraite&#039;&#039;&#039; que dans une classe ou une instance d&#039;une classe dans laquelle la méthode a été redéfinie.&lt;br /&gt;
&lt;br /&gt;
==Méthodes de classe==&lt;br /&gt;
&lt;br /&gt;
La plupart des méthodes sont appelées méthodes d&#039;instance, car elles opèrent sur une instance individuelle d&#039;un objet. Une méthode de classe est une méthode (autre qu&#039;un constructeur) qui agit sur des classes et pas sur des objets. Il existe deux types de méthodes de classe : les méthodes de classe ordinaires et les méthodes statiques de classe.&lt;br /&gt;
&lt;br /&gt;
===Méthodes de classe ordinaires===&lt;br /&gt;
&lt;br /&gt;
La définition d&#039;une méthode de classe doit commencer par le mot réservé &#039;&#039;&#039;class&#039;&#039;&#039;. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TFigure = class&lt;br /&gt;
   public&lt;br /&gt;
      class function Supports(Operation: string): Boolean; virtual;&lt;br /&gt;
      class procedure GetInfo(var Info: TFigureInfo); virtual;&lt;br /&gt;
      ...&lt;br /&gt;
   end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La déclaration de définition d&#039;une méthode de classe doit aussi commencer par &#039;&#039;&#039;class&#039;&#039;&#039;. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 class procedure TFigure.GetInfo(var Info: TFigureInfo);&lt;br /&gt;
 begin&lt;br /&gt;
     ...&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans la déclaration de définition d&#039;une méthode de classe, l&#039;identificateur &#039;&#039;&#039;Self&#039;&#039;&#039; représente la classe où la méthode est appelée (ce peut être un descendant de la classe dans laquelle elle est définie). Si la méthode est appelée dans la classe &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;, alors &#039;&#039;&#039;Self&#039;&#039;&#039; est de type class of &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;. Vous ne pouvez donc pas utiliser &#039;&#039;&#039;Self&#039;&#039;&#039; pour accéder à des champs d&#039;instance, des propriétés d&#039;instance et des méthodes normales (objet). Vous pouvez utiliser &#039;&#039;&#039;Self&#039;&#039;&#039; pour appeler les constructeurs ou d&#039;autres méthodes de classe, ou pour accéder aux propriétés de classe et aux champs de classe.&lt;br /&gt;
&lt;br /&gt;
Une méthode de classe peut être appelée via une référence de classe ou une référence d&#039;objet. Quand elle est appelée via une référence d&#039;objet, la classe de l&#039;objet devient la valeur de &#039;&#039;&#039;Self&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Méthodes statiques de classe===&lt;br /&gt;
&lt;br /&gt;
Comme les méthodes de classe, les méthodes statiques de classe peuvent être accessibles sans une référence d&#039;objet. A la différence des méthodes de classe ordinaires, les méthodes statiques de classe n&#039;ont pas de paramètre &#039;&#039;&#039;Self&#039;&#039;&#039;. Elles ne peuvent pas accéder aux membres d&#039;instance. Elles peuvent toujours accéder aux champs de classe, aux propriétés de classe et aux méthodes de classe. En outre, contrairement aux méthodes de classe, les méthodes statiques de classe ne peuvent pas être déclarées &#039;&#039;&#039;virtual&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour rendre une méthode de classe statique, ajoutez le mot &#039;&#039;&#039;static&#039;&#039;&#039; à leur déclaration, par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
    TMyClass = class&lt;br /&gt;
      strict private&lt;br /&gt;
        class var&lt;br /&gt;
          FX: Integer;&lt;br /&gt;
 &lt;br /&gt;
      strict protected&lt;br /&gt;
        // Note: Accessors for class properties&lt;br /&gt;
        // must be declared class static.&lt;br /&gt;
        class function GetX: Integer; static;&lt;br /&gt;
        class procedure SetX(val: Integer); static;&lt;br /&gt;
 &lt;br /&gt;
      public&lt;br /&gt;
        class property X: Integer read GetX write SetX;&lt;br /&gt;
        class procedure StatProc(s: String); static;&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme pour une méthode de classe, vous pouvez appeler une méthode statique de classe par l&#039;intermédiaire du type de la classe (par exemple, sans référence d&#039;objet), comme suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 TMyClass.X := 17;&lt;br /&gt;
 TMyClass.StatProc(&#039;Hello&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Surcharge des méthodes==&lt;br /&gt;
&lt;br /&gt;
Une méthode peut être redéclarée en utilisant la directive &#039;&#039;&#039;overload&#039;&#039;&#039;. Dans ce cas, si la méthode redéclarée a une signature de paramètre différente de celle de son ancêtre, elle surcharge la méthode héritée sans la cacher. L&#039;appel de la méthode dans une classe descendante active l&#039;implémentation qui correspond aux paramètres de l&#039;appel.&lt;br /&gt;
&lt;br /&gt;
Si vous surchargez une méthode virtuelle, utilisez la directive &#039;&#039;&#039;reintroduce&#039;&#039;&#039; quand vous la redéclarez dans les classes descendantes. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   T1 = class(TObject)&lt;br /&gt;
     procedure Test(I: Integer); overload; virtual;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
   T2 = class(T1)&lt;br /&gt;
     procedure Test(S: string); reintroduce; overload;&lt;br /&gt;
   end;&lt;br /&gt;
   ...&lt;br /&gt;
 &lt;br /&gt;
 SomeObject := T2.Create;&lt;br /&gt;
 SomeObject.Test(&#039;Hello!&#039;);       // calls T2.Test&lt;br /&gt;
 SomeObject.Test(7);              // calls T1.Test&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans une classe, vous ne pouvez pas publier plusieurs méthodes surchargées portant le même nom. La maintenance des informations de type à l&#039;exécution requiert un nom unique pour chaque membre &#039;&#039;&#039;publié&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
     TSomeClass = class&lt;br /&gt;
       published&lt;br /&gt;
         function Func(P: Integer): Integer;&lt;br /&gt;
         function Func(P: Boolean): Integer;   // error&lt;br /&gt;
           ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les méthodes qui servent de spécificateurs de &#039;&#039;&#039;lecture&#039;&#039;&#039; ou d&#039;&#039;&#039;&#039;écriture&#039;&#039;&#039; de propriétés ne peuvent pas être surchargées.&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation d&#039;une méthode surchargée doit répéter la liste des paramètres depuis la déclaration de classe. Pour davantage d&#039;informations sur la surcharge, voir [[Procédures et fonctions (Delphi)#Surcharge de procédures et de fonctions|Surcharge de procédures et de fonctions]] dans [[Procédures et fonctions (Delphi)|Procédures et fonctions (Delphi)]].&lt;br /&gt;
&lt;br /&gt;
==Constructeurs==&lt;br /&gt;
&lt;br /&gt;
Un constructeur est une méthode spéciale qui crée et initialise des instances d&#039;objet. La déclaration d&#039;un constructeur ressemble à celle d&#039;une procédure, sauf qu&#039;elle commence par le mot &#039;&#039;&#039;constructor&#039;&#039;&#039;. Exemples :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 constructor Create;&lt;br /&gt;
 constructor Create(AOwner: TComponent);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les constructeurs doivent utiliser la convention d&#039;appel &#039;&#039;&#039;register&#039;&#039;&#039; par défaut. Bien que la déclaration ne spécifie pas de valeur de retour, un constructeur renvoie une référence à l&#039;objet qu&#039;il a créé ou qui est appelé.&lt;br /&gt;
&lt;br /&gt;
Une classe peut avoir plusieurs constructeurs mais doit en avoir au moins un. L&#039;habitude veut qu&#039;on appelle le constructeur &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Create&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour créer un objet, appelez la méthode constructeur sur un type classe. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 MyObject := TMyClass.Create;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette instruction alloue le stockage pour le nouvel objet, définit la valeur de tous les champs ordinaux sur zéro, assigne &#039;&#039;&#039;nil&#039;&#039;&#039; à tous les champs de type pointeur ou de type classe, et une chaîne vide à tous les champs chaîne. Les autres actions spécifiées dans l&#039;implémentation du constructeur sont effectuées ensuite. Généralement, les objets sont initialisés en fonction des valeurs transmises comme paramètres au constructeur. Enfin, le constructeur renvoie une référence à l&#039;objet qui vient d&#039;être créé et initialisé. Le type de la valeur de retour est le même que le type classe spécifié dans l&#039;appel du constructeur.&lt;br /&gt;
&lt;br /&gt;
Si une exception est déclenchée lors de l&#039;exécution d&#039;un constructeur invoqué sur une référence de classe, le destructeur &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Destroy&amp;lt;/span&amp;gt; est appelé automatiquement pour détruire l&#039;objet inachevé.&lt;br /&gt;
&lt;br /&gt;
Quand un constructeur est appelé en utilisant une référence d&#039;objet (au lieu d&#039;une référence de classe), il ne crée pas d&#039;objet. Le constructeur agit à la place sur l&#039;objet spécifié, en n&#039;exécutant que les instructions de l&#039;implémentation du constructeur et renvoie ensuite une référence à l&#039;objet. Un constructeur est typiquement invoqué sur une référence d&#039;objet en conjonction avec le mot réservé &#039;&#039;&#039;inherited&#039;&#039;&#039; afin d&#039;exécuter un constructeur hérité.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple du type classe et de son constructeur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
  type&lt;br /&gt;
    TShape = class(TGraphicControl)&lt;br /&gt;
      private&lt;br /&gt;
        FPen: TPen;&lt;br /&gt;
        FBrush: TBrush;&lt;br /&gt;
        procedure PenChanged(Sender: TObject);&lt;br /&gt;
        procedure BrushChanged(Sender: TObject);&lt;br /&gt;
      public&lt;br /&gt;
        constructor Create(Owner: TComponent); override;&lt;br /&gt;
        destructor Destroy; override;&lt;br /&gt;
        ...&lt;br /&gt;
    end;&lt;br /&gt;
 &lt;br /&gt;
 constructor TShape.Create(Owner: TComponent);&lt;br /&gt;
 begin&lt;br /&gt;
     inherited Create(Owner);     // Initialize inherited parts&lt;br /&gt;
     Width := 65;          // Change inherited properties&lt;br /&gt;
     Height := 65;&lt;br /&gt;
     FPen := TPen.Create;  // Initialize new fields&lt;br /&gt;
     FPen.OnChange := PenChanged;&lt;br /&gt;
     FBrush := TBrush.Create;&lt;br /&gt;
     FBrush.OnChange := BrushChanged;&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Généralement, la première action d&#039;un constructeur est d&#039;appeler le constructeur hérité afin d&#039;initialiser les champs hérités de l&#039;objet. Le constructeur initialise ensuite les champs introduits dans la classe descendante. Comme un constructeur efface toujours le stockage alloué à un nouvel objet, tous les champs contiennent au départ zéro (pour les types ordinaux), &#039;&#039;&#039;nil&#039;&#039;&#039; (types pointeur et classe), chaîne vide (types chaîne) ou Unassigned (variants). Il n&#039;est donc pas nécessaire que l&#039;implémentation du constructeur initialise les champs sauf ceux devant contenir une valeur non nulle ou non vide.&lt;br /&gt;
&lt;br /&gt;
Quand il est invoqué par le biais d&#039;un identificateur de type classe, un constructeur déclaré comme &#039;&#039;&#039;virtual&#039;&#039;&#039; est équivalent à un constructeur statique. Quand ils sont combinés avec des types référence de classe, les constructeurs virtuels permettent une construction polymorphique des objets, c&#039;est-à-dire la construction d&#039;objets dont le type est inconnu à la compilation. (Voir [[Références de classes|Références de classes]].)&lt;br /&gt;
&lt;br /&gt;
==Destructeurs==&lt;br /&gt;
&lt;br /&gt;
Un destructeur est une méthode spéciale qui détruit l&#039;objet à l&#039;endroit de son appel et libère sa mémoire. La déclaration d&#039;un destructeur ressemble à celle d&#039;une procédure, mais elle commence par le mot &#039;&#039;&#039;destructor&#039;&#039;&#039;. Exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 destructor SpecialDestructor(SaveData: Boolean);&lt;br /&gt;
 destructor Destroy; override;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les destructeurs sur Win32 doivent utiliser la convention d&#039;appel &#039;&#039;&#039;register&#039;&#039;&#039; par défaut. Même si une classe peut avoir plusieurs destructeurs, il est conseillé que chaque classe redéfinisse la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Destroy&amp;lt;/span&amp;gt; héritée et ne déclare pas d&#039;autres destructeurs.&lt;br /&gt;
&lt;br /&gt;
Pour appeler un destructeur, vous devez référencer une instance d&#039;objet. Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 MyObject.Destroy;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;appel d&#039;un destructeur, les actions spécifiées dans l&#039;implémentation du destructeur sont d&#039;abord exécutées. Typiquement, cela consiste à détruire les objets incorporés et à libérer les ressources allouées par l&#039;objet. Ensuite, le stockage alloué à l&#039;objet est libéré.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple d&#039;implémentation d&#039;un destructeur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 destructor TShape.Destroy;&lt;br /&gt;
 begin&lt;br /&gt;
     FBrush.Free;&lt;br /&gt;
     FPen.Free;&lt;br /&gt;
     inherited Destroy;&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Typiquement, la dernière action de l&#039;implémentation d&#039;un destructeur est l&#039;appel du destructeur hérité afin de détruire les champs hérités de l&#039;objet.&lt;br /&gt;
&lt;br /&gt;
Quand une exception est déclenchée lors de la création d&#039;un objet, Destroy est appelée automatiquement afin de libérer l&#039;objet inachevé. Cela signifie que &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Destroy&amp;lt;/span&amp;gt; doit être préparé à libérer des objets partiellement construits. Comme un constructeur définit les champs d&#039;un nouvel objet sur zéro ou sur des valeurs vides avant d&#039;effectuer d&#039;autres actions, les champs de type classe ou pointeur d&#039;un objet partiellement construit sont toujours définis sur &#039;&#039;&#039;nil&#039;&#039;&#039;. Un destructeur doit donc tester les valeurs &#039;&#039;&#039;nil&#039;&#039;&#039; avant d&#039;agir sur des champs de type classe ou pointeur. L&#039;appel de la méthode &#039;&#039;&#039;Free&#039;&#039;&#039; (définie dans TObject) au lieu de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Destroy&amp;lt;/span&amp;gt;, permet de tester facilement les valeurs &#039;&#039;&#039;nil&#039;&#039;&#039; avant de détruire un objet.&lt;br /&gt;
&lt;br /&gt;
==Constructeurs de classes==&lt;br /&gt;
&lt;br /&gt;
Un constructeur de classe est une méthode de classe spéciale qui n&#039;est pas accessible aux développeurs. Les appels des constructeurs de classes sont automatiquement insérés par le compilateur dans la section d&#039;initialisation de l&#039;unité où la classe est définie. Normalement, les constructeurs de classes sont utilisés pour initialiser les champs statiques de la classe ou effectuer un type d&#039;initialisation, nécessaire avant que la classe ou toute instance de classe puisse fonctionner correctement. Bien que le même résultat puisse être obtenu en plaçant le code d&#039;initialisation de la classe dans la section &#039;&#039;initialization&#039;&#039;, les constructeurs de classes ont l&#039;avantage d&#039;aider le compilateur à déterminer les classes qui doivent être incluses dans le fichier binaire final et celles qui doivent être retirées.&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant illustre la façon habituelle d&#039;initialiser les champs de classes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TBox = class&lt;br /&gt;
   private&lt;br /&gt;
     class var FList: TList&amp;lt;Integer&amp;gt;;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 initialization&lt;br /&gt;
   { Initialize the static FList member }&lt;br /&gt;
   TBox.FList := TList&amp;lt;Integer&amp;gt;.Create();&lt;br /&gt;
 &lt;br /&gt;
 end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette méthode a un gros désavantage : même si une application peut inclure l&#039;unité dans laquelle &#039;&#039;&#039;TBox&#039;&#039;&#039; est déclaré, elle ne peut jamais réellement utiliser la classe &#039;&#039;&#039;TBox&#039;&#039;&#039;. Dans l&#039;exemple en cours, la classe TBox est incluse dans le binaire résultant, car elle est référencée dans la section initialization. Pour alléger ce problème, considérons l&#039;utilisation des constructeurs de classes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TBox = class&lt;br /&gt;
   private&lt;br /&gt;
     class var FList: TList&amp;lt;Integer&amp;gt;;&lt;br /&gt;
     class constructor Create;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 class constructor TBox.Create;&lt;br /&gt;
 begin&lt;br /&gt;
   { Initialize the static FList member }&lt;br /&gt;
   FList := TList&amp;lt;Integer&amp;gt;.Create();&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans ce cas, le compilateur vérifie si TBox est réellement utilisé quelque part dans l&#039;application, et en cas d&#039;utilisation, un appel au constructeur de classe est ajouté automatiquement à la section initialization de l&#039;unité.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Même si le compilateur fait attention à l&#039;ordre d&#039;initialisation des classes, l&#039;ordre peut devenir aléatoire dans certains scénarios complexes. Cela se produit quand le constructeur d&#039;une classe dépend de l&#039;état d&#039;une autre classe qui, à son tour, dépend de la première classe.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Le constructeur de classe relatif à un enregistrement ou une classe générique peut s&#039;exécuter plusieurs fois. Le nombre exact de fois que le constructeur de classe est exécuté dans ce cas dépend du nombre de versions spécialisées du type générique. Par exemple, le constructeur de classe pour une classe &#039;&#039;TList&amp;amp;lt;String&amp;amp;gt;&#039;&#039; spécialisée peut s&#039;exécuter plusieurs fois dans la même application.&lt;br /&gt;
&lt;br /&gt;
==Destructeurs de classes==&lt;br /&gt;
&lt;br /&gt;
Les destructeurs de classes sont l&#039;opposé des constructeurs de classes, dans le fait qu&#039;ils réalisent la finalisation de la classe. Les destructeurs de classes présentent les mêmes avantages que les constructeurs de classes, à l&#039;exception des fonctions de &#039;&#039;finalisation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple suivant est construit sur l&#039;exemple présenté dans les constructeurs de classes et il introduit la routine de finalisation :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TBox = class&lt;br /&gt;
   private&lt;br /&gt;
     class var FList: TList&amp;lt;Integer&amp;gt;;&lt;br /&gt;
     class constructor Create;&lt;br /&gt;
     class destructor Destroy;&lt;br /&gt;
   end;&lt;br /&gt;
 &lt;br /&gt;
 implementation&lt;br /&gt;
 &lt;br /&gt;
 class constructor TBox.Create;&lt;br /&gt;
 begin&lt;br /&gt;
   { Initialize the static FList member }&lt;br /&gt;
   FList := TList&amp;lt;Integer&amp;gt;.Create();&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 class destructor TBox.Destroy;&lt;br /&gt;
 begin&lt;br /&gt;
   { Finalize the static FList member }&lt;br /&gt;
   FList.Free;&lt;br /&gt;
 end;&lt;br /&gt;
 &lt;br /&gt;
 end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Le destructeur de classe relatif à un enregistrement ou une classe générique peut s&#039;exécuter plusieurs fois. Le nombre exact de fois que le destructeur de classe est exécuté dans ce cas dépend du nombre de versions spécialisées du type générique. Par exemple, le destructeur de classe pour une classe &#039;&#039;TList&amp;amp;lt;String&amp;amp;gt;&#039;&#039; spécialisée peut s&#039;exécuter plusieurs fois dans la même application.&lt;br /&gt;
&lt;br /&gt;
==Méthodes de messages==&lt;br /&gt;
&lt;br /&gt;
Les méthodes de messages implémentent des réponses à des messages répartis dynamiquement. La syntaxe des méthodes de messages est supportée sur toutes les plates-formes.  &amp;lt;f s=&amp;quot;vcl&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt;La VCL utilise des méthodes de messages pour répondre aux messages Windows. &amp;lt;f e=&amp;quot;vcl&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une méthode de message est créée en incluant la directive &#039;&#039;&#039;message&#039;&#039;&#039; dans une déclaration de méthode, suivie d&#039;une constante entière comprise entre 1 et 49151 qui spécifie l&#039;identificateur du message.  &amp;lt;f s=&amp;quot;vcl&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt; Pour les méthodes de messages des contrôles VCL, la constante entière peut être l&#039;un des identificateurs de messages Win32, avec les types d&#039;enregistrements correspondants, dans l&#039;unité &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Messages&amp;lt;/span&amp;gt;. &amp;lt;f e=&amp;quot;vcl&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt; Une méthode de message doit être une procédure qui n&#039;attend qu&#039;un seul paramètre &#039;&#039;&#039;var&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
     TTextBox = class(TCustomControl)&lt;br /&gt;
       private&lt;br /&gt;
        procedure WMChar(var Message: TWMChar); message WM_CHAR;&lt;br /&gt;
        ...&lt;br /&gt;
     end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une méthode de message n&#039;a pas besoin d&#039;inclure la directive &#039;&#039;&#039;override&#039;&#039;&#039; pour redéfinir une méthode de message héritée. En fait, il n&#039;est pas nécessaire de spécifier le même nom de méthode ou type de paramètre que la méthode qu&#039;elle redéfinit. L&#039;identificateur du message détermine seul les messages auxquels la méthode répond et s&#039;il s&#039;agit d&#039;une redéfinition.&lt;br /&gt;
&lt;br /&gt;
===Implémentation des méthodes de messages===&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation d&#039;une méthode de message peut appeler la méthode de message héritée, comme dans l&#039;exemple suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure TTextBox.WMChar(var Message: TWMChar);&lt;br /&gt;
 begin&lt;br /&gt;
    if Message.CharCode = Ord(#13) then&lt;br /&gt;
       ProcessEnter&lt;br /&gt;
    else&lt;br /&gt;
       inherited;&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;instruction &#039;&#039;&#039;inherited&#039;&#039;&#039; effectue une recherche arrière dans la hiérarchie des classes et invoque la première méthode de message ayant le même identificateur que la méthode en cours, et lui transmet automatiquement l&#039;enregistrement message. Si aucune classe ancêtre n&#039;implémente de méthode de message pour l&#039;identificateur spécifié, &#039;&#039;&#039;inherited&#039;&#039;&#039; appelle la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt; définie initialement dans TObject.&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation de &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt; dans TObject rend simplement le contrôle sans rien faire. En redéfinissant &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt;, une classe peut implémenter sa propre gestion par défaut des messages. Sous Win32, la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt; pour les contrôles appelle &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefWindowProc&amp;lt;/span&amp;gt; de l&#039;API Win32.&lt;br /&gt;
&lt;br /&gt;
===Répartition des messages===&lt;br /&gt;
&lt;br /&gt;
Les gestionnaires de messages sont rarement appelés directement. A la place, les messages sont répartis sur un objet en utilisant la méthode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dispatch&amp;lt;/span&amp;gt; héritée de TObject :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 procedure Dispatch(var Message);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le paramètre &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Message&amp;lt;/span&amp;gt; transmis à &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dispatch&amp;lt;/span&amp;gt; doit être un enregistrement dont la première entrée est un champ de type &#039;&#039;&#039;Word&#039;&#039;&#039; contenant un identificateur de message.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dispatch&amp;lt;/span&amp;gt; effectue une recherche arrière dans la hiérarchie des classes, en commençant par la classe de l&#039;objet où elle est appelée, et invoque la première méthode de message pour l&#039;identificateur qui lui a été transmis. Si aucune méthode de message n&#039;est trouvée pour l&#039;identificateur donné, &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dispatch&amp;lt;/span&amp;gt; appelle &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;DefaultHandler&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
*[[Classes et objets (Delphi)|Classes et objets (Delphi)]]&lt;br /&gt;
*[[Champs (Delphi)|Champs (Delphi)]]&lt;br /&gt;
*[[Propriétés (Delphi)|Propriétés (Delphi)]]&lt;br /&gt;
*[[Déclarations de types imbriqués|Déclarations de types imbriquées]]&lt;br /&gt;
*[[Références de classes|Références de classes]]&lt;br /&gt;
*[[Exceptions (Delphi)|Exceptions (Delphi)]]&lt;br /&gt;
*[[Surcharge d&#039;opérateurs (Delphi)|Surcharge d&#039;opérateurs (Delphi)]]&lt;br /&gt;
*[[Assistances de classes et d&#039;enregistrements (Delphi)|Assistances de classes et d&#039;enregistrements (Delphi)]]&lt;br /&gt;
* [[Procédures et fonctions (Delphi)|Procédures et fonctions (Delphi)]]&lt;br /&gt;
* [[Contrôle des programmes (Delphi)|Contrôle des programmes (Delphi)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:Guide du langage Delphi]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Plates-formes_cible_prises_en_charge&amp;diff=213718</id>
		<title>Plates-formes cible prises en charge</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Plates-formes_cible_prises_en_charge&amp;diff=213718"/>
		<updated>2020-07-30T09:56:36Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement des applications multi-périphériques}}&lt;br /&gt;
&lt;br /&gt;
{{Product}} {{Version}} prend en charge les plates-formes cible suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Système&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Versions prises en charge&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Plate-forme cible&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal&amp;quot;&amp;gt;(noeud &#039;&#039;&#039;[[Fenêtre Projets|Fenêtre Projet]]&#039;&#039;&#039;)&amp;lt;/span&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Langages pris en charge&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; {{fr|vcl}} |&lt;br /&gt;
Frameworks d&#039;UI pris en charge&lt;br /&gt;
|-&lt;br /&gt;
! [[Guide du langage Delphi - Index|{{Delphi}}]]&lt;br /&gt;
! [[Guide du langage C++ - Index|C++]]&lt;br /&gt;
! {{fr|vcl}} | [[FireMonkey|FireMonkey]]&lt;br /&gt;
! {{fr|vcl}} | [[VCL|VCL]]&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Windows&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Windows 10, Windows 8.1, Windows 7 (SP1+), Windows Server 2016 et Windows Server 2012 R2&lt;br /&gt;
|&lt;br /&gt;
Windows 32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Windows 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
macOS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
10.15 Catalina, 10.14 Mojave, 10.13 High Sierra, et 10.12 Sierra&lt;br /&gt;
|&lt;br /&gt;
macOS 32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
macOS 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
iOS&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
iOS 13, iOS 12, iOS 11, et iOS 10&lt;br /&gt;
|&lt;br /&gt;
Périphérique iOS 32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Périphérique iOS 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Simulateur iOS&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Android &amp;lt;ref&amp;gt;{{Product}} ne prend en charge que les périphériques réels (aucune prise en charge des émulateurs Android) par l&#039;intermédiaire de la prise en charge [http://www.arm.com/products/processors/technologies/neon.php NEON].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
10, 9, 8, 7, 6, et 5.1&lt;br /&gt;
|&lt;br /&gt;
Android 32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Android 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Linux&lt;br /&gt;
|&lt;br /&gt;
Ubuntu 18.04 LTS, Ubuntu 16.04 LTS, Ubuntu 14.04 LTS et RedHat Enterprise Linux (version 7)&lt;br /&gt;
|&lt;br /&gt;
Linux 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{V}} &amp;lt;ref&amp;gt;Utilisation de [[FireMonkey pour Linux|FireMonkey pour Linux]].&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez définir les plates-formes cible prises en charge par vos projets sur le noeud &#039;&#039;&#039;[[Fenêtre Projets#Menu contextuel du noeud Plates-formes cible|Plates-formes cible]]&#039;&#039;&#039; du &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Présentation des plates-formes cible|Présentation des plates-formes cible]]&lt;br /&gt;
* [[Applications multi-périphériques - Index|Applications multi-périphériques - Index]]&lt;br /&gt;
* [[Travailler avec un Mac et un PC|Travailler avec un Mac et un PC]]&lt;br /&gt;
* [https://developer.apple.com/programs/ios/distribute.html App Distribution Information from Apple (EN) ]&lt;br /&gt;
* [[Périphériques Android pris en charge pour le développement d&#039;applications|Périphériques Android pris en charge pour le développement d&#039;applications]]&lt;br /&gt;
* [[Fonctions RTL standard relatives aux chemins sur les plates-formes cible prises en charge|Fonctions RTL standard relatives aux chemins sur les plates-formes cible prises en charge]]&lt;br /&gt;
* [[FireMonkey|FireMonkey]]&lt;br /&gt;
* [[Application multi-périphérique|Application multi-périphérique]]{{f|vcl|&lt;br /&gt;
* [[Introduction à la bibliothèque des composants visuels (VCL)|Introduction à la bibliothèque des composants visuels (VCL)]] }}&lt;br /&gt;
&lt;br /&gt;
[[Category:Rio]]&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Syst%C3%A8mes_de_gestion_de_base_de_donn%C3%A9es_support%C3%A9s_par_dbExpress&amp;diff=213716</id>
		<title>Systèmes de gestion de base de données supportés par dbExpress</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Syst%C3%A8mes_de_gestion_de_base_de_donn%C3%A9es_support%C3%A9s_par_dbExpress&amp;diff=213716"/>
		<updated>2020-07-30T09:56:36Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Framework dbExpress}}{{DISPLAYTITLE:Systèmes de gestion de base de données pris en charge par dbExpress}}&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;[[Framework dbExpress|dbExpress]]&#039;&#039;&#039; fournit une prise en charge intégrée des systèmes de gestion de base de données (SGBD) suivants :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Système de gestion de bases de données&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Versions prises en charge&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | [[Plates-formes cible prises en charge|Plates-formes prises en charge]]&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Bibliothèques requises&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Paramètre DriverID&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Pilote&lt;br /&gt;
! Client**&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | ASA (Sybase SQL Anywhere)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 12&amp;lt;br /&amp;gt;11&amp;lt;br /&amp;gt;10&amp;lt;br /&amp;gt;9&amp;lt;br /&amp;gt;8*&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxasa.dll&lt;br /&gt;
| dbodbc*.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | ASA&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlasa.dylib&lt;br /&gt;
| libdbodbc12.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | ASE (Sybase ASE)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 12.5&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | dbxase.dll&lt;br /&gt;
| libct.dll&amp;lt;br /&amp;gt;libcs.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | ASE&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
| libsybct64.dll&amp;lt;br /&amp;gt;libsybcs64.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | DB2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 9.5&amp;lt;br /&amp;gt;9.1&amp;lt;br /&amp;gt;8.x*&amp;lt;br /&amp;gt;7.x*&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | dbxdb2.dll&lt;br /&gt;
| db2cli.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | DB2&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| db2cli64.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | DataSnap&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | midas.dll&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | DataSnap&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | midas.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Android 32 bits&amp;lt;br /&amp;gt;Android 64 bits&amp;lt;br /&amp;gt;iOS Device 32 bits&amp;lt;br /&amp;gt;iOS Device 64 bits&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | libmidas.a&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | libmidas.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Firebird&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 2.5&amp;lt;br /&amp;gt;2.1&amp;lt;br /&amp;gt;1.5&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxfb.dll&lt;br /&gt;
| fbclient.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Firebird&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlfb.dylib&lt;br /&gt;
| /Library/Frameworks/Firebird.framework/Firebird&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | IBLite/ToGo&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | XE3&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | dbxint.dll&lt;br /&gt;
| ibtogo.dll&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | IBLite/ToGo&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
| ibtogo64.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Android 32 bits&amp;lt;br /&amp;gt;Android 64 bits&amp;lt;br /&amp;gt;iOS Device 32 bits&amp;lt;br /&amp;gt;iOS Device 64 bits&lt;br /&gt;
| Fonctionnalité fournie par l&#039;unité Data.DBXInterBase.&lt;br /&gt;
| libibtogo.a&amp;lt;br /&amp;gt;(liée statiquement, déploiement inutile)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| iOS Simulator&amp;lt;br /&amp;gt;macOS&lt;br /&gt;
| libsqlib.dylib&lt;br /&gt;
| libibtogo.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Informix&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 9.x&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxinf.dll&lt;br /&gt;
| isqlb09a.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Informix&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlinf.dylib&lt;br /&gt;
| libifcli.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | InterBase Server&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | XE3&amp;lt;br /&amp;gt;XE&amp;lt;br /&amp;gt;2009&amp;lt;br /&amp;gt;2007&amp;lt;br /&amp;gt;7.5.1&amp;lt;br /&amp;gt;7.1*&amp;lt;br /&amp;gt;8.0*&amp;lt;br /&amp;gt;6.5*&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | dbxint.dll&lt;br /&gt;
| gds32.DLL&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | InterBase Server&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
| ibclient64.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| iOS Simulator&amp;lt;br /&amp;gt;macOS&lt;br /&gt;
| libsqlib.dylib&lt;br /&gt;
| libgds.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | MSSQL (Microsoft SQL Server)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 2008&amp;lt;br /&amp;gt;2005&amp;lt;br /&amp;gt;2000&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxmss.dll&lt;br /&gt;
| sqlncli10.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | MSSQL&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| dbxmss9.dll&lt;br /&gt;
| sqlncli.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | MySQL&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 5.1&amp;lt;br /&amp;gt;5.0.27&amp;lt;br /&amp;gt;4.1*&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxmys.dll&lt;br /&gt;
| libmysql.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | MySQL&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlmys.dylib&lt;br /&gt;
| libmysqlclient.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ODBC&amp;lt;br /&amp;gt;(pont vers plusieurs systèmes de gestion de bases de données)&lt;br /&gt;
|&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| Fonctionnalité fournie par l&#039;unité Data.DBXOdbc.&lt;br /&gt;
|&lt;br /&gt;
| Odbc&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Oracle&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 11g&amp;lt;br /&amp;gt;10g&amp;lt;br /&amp;gt;9.2.0*&amp;lt;br /&amp;gt;9.1.0*&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxora.dll&lt;br /&gt;
| oci.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Oracle&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlora.dylib&lt;br /&gt;
| libociei.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | SQLite&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 3.x&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | Fonctionnalité fournie par l&#039;unité Data.DbxSqlite.&lt;br /&gt;
| sqlite3.dll&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | SQLite&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Android 32 bits&amp;lt;br /&amp;gt;Android 64 bits&lt;br /&gt;
| sqlite.so&amp;lt;br /&amp;gt;(fournie par le système, déploiement inutile)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Périphérique iOS 32 bits&amp;lt;br /&amp;gt;Périphérique iOS 64 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | libsqlite3.dylib&amp;lt;br /&amp;gt;(fournie par le système, déploiement inutile)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Simulateur iOS&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlite3.dylib&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Remarques :&#039;&#039;&#039;&lt;br /&gt;
:* Les pilotes ne sont pas totalement certifiés avec les versions des systèmes de gestion de bases de données marquées par un caractère *.&lt;br /&gt;
:* Les clients sont disponibles en téléchargement sur les sites Web des éditeurs.&lt;br /&gt;
:* Toutes les éditions de RAD Studio ne prennent pas en charge tous les systèmes de gestion de bases de données ci-dessus.&lt;br /&gt;
:* Des éditeurs tiers peuvent fournir des pilotes dbExpress qui prennent en charge d&#039;autres systèmes de gestion de bases de données.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Informations spécifiques aux bases de données DbExpress|Informations spécifiques aux bases de données DbExpress]]&lt;br /&gt;
* [[Déploiement des applications de base de données dbExpress|Déploiement des applications de base de données dbExpress]]&lt;br /&gt;
* [[Mappage des types de données dbExpress pour les bases de données prises en charge|Mappage des types de données dbExpress pour les bases de données prises en charge]]&lt;br /&gt;
* [[Prise en charge du framework et du pilote dbExpress pour SQL Anywhere 11|Prise en charge du framework et du pilote dbExpress pour SQL Anywhere 11]]&lt;br /&gt;
* [[Prise en charge du framework et du pilote dbExpress pour SQL Anywhere 12|Prise en charge du framework et du pilote dbExpress pour SQL Anywhere 12]]&lt;br /&gt;
* [[InterBase ToGo avec dbExpress|InterBase ToGo avec dbExpress]]&lt;br /&gt;
&lt;br /&gt;
* [[Compatibilité du framework dbExpress|Compatibilité du framework dbExpress]]&lt;br /&gt;
* [[Présentation des fonctionnalités dbExpress|Présentation des fonctionnalités dbExpress]]&lt;br /&gt;
&lt;br /&gt;
* [[Tutoriel mobile : Utilisation de InterBase ToGo avec dbExpress (iOS et Android)|Tutoriel mobile : Utilisation de InterBase ToGo avec dbExpress (iOS et Android)]]&lt;br /&gt;
* [[Tutoriel mobile : Utilisation de dbExpress et SQLite (iOS et Android)|Tutoriel mobile : Utilisation de dbExpress et SQLite (iOS et Android)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Plates-formes_cible_prises_en_charge&amp;diff=213719</id>
		<title>Plates-formes cible prises en charge</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Plates-formes_cible_prises_en_charge&amp;diff=213719"/>
		<updated>2020-07-30T09:56:23Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement des applications multi-périphériques}}&lt;br /&gt;
&lt;br /&gt;
{{Product}} {{Version}} prend en charge les plates-formes cible suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Système&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Versions prises en charge&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Plate-forme cible&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal&amp;quot;&amp;gt;(noeud &#039;&#039;&#039;[[Fenêtre Projets|Fenêtre Projet]]&#039;&#039;&#039;)&amp;lt;/span&amp;gt;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Langages pris en charge&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; {{fr|vcl}} |&lt;br /&gt;
Frameworks d&#039;UI pris en charge&lt;br /&gt;
|-&lt;br /&gt;
! [[Guide du langage Delphi - Index|{{Delphi}}]]&lt;br /&gt;
! [[Guide du langage C++ - Index|C++]]&lt;br /&gt;
! {{fr|vcl}} | [[FireMonkey|FireMonkey]]&lt;br /&gt;
! {{fr|vcl}} | [[VCL|VCL]]&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Windows&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Windows 10, Windows 8.1, Windows 7 (SP1+), Windows Server 2016 et Windows Server 2012 R2&lt;br /&gt;
|&lt;br /&gt;
Windows 32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Windows 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
macOS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
10.15 Catalina, 10.14 Mojave, 10.13 High Sierra, et 10.12 Sierra&lt;br /&gt;
|&lt;br /&gt;
macOS 32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
macOS 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
iOS&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
iOS 13, iOS 12, iOS 11, et iOS 10&lt;br /&gt;
|&lt;br /&gt;
Périphérique iOS 32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Périphérique iOS 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Simulateur iOS&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
Android &amp;lt;ref&amp;gt;{{Product}} ne prend en charge que les périphériques réels (aucune prise en charge des émulateurs Android) par l&#039;intermédiaire de la prise en charge [http://www.arm.com/products/processors/technologies/neon.php NEON].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
10, 9, 8, 7, 6, et 5.1&lt;br /&gt;
|&lt;br /&gt;
Android 32 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
{{V}}&lt;br /&gt;
| {{fr|vcl}} |&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Android 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Linux&lt;br /&gt;
|&lt;br /&gt;
Ubuntu 18.04 LTS, Ubuntu 16.04 LTS, Ubuntu 14.04 LTS et RedHat Enterprise Linux (version 7)&lt;br /&gt;
|&lt;br /&gt;
Linux 64 bits&lt;br /&gt;
|&lt;br /&gt;
{{V}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{V}} &amp;lt;ref&amp;gt;Utilisation de [[FireMonkey pour Linux|FireMonkey pour Linux]].&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez définir les plates-formes cible prises en charge par vos projets sur le noeud &#039;&#039;&#039;[[Fenêtre Projets#Menu contextuel du noeud Plates-formes cible|Plates-formes cible]]&#039;&#039;&#039; du &#039;&#039;&#039;Gestionnaire de projets&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Présentation des plates-formes cible|Présentation des plates-formes cible]]&lt;br /&gt;
* [[Applications multi-périphériques - Index|Applications multi-périphériques - Index]]&lt;br /&gt;
* [[Travailler avec un Mac et un PC|Travailler avec un Mac et un PC]]&lt;br /&gt;
* [https://developer.apple.com/programs/ios/distribute.html App Distribution Information from Apple (EN) ]&lt;br /&gt;
* [[Périphériques Android pris en charge pour le développement d&#039;applications|Périphériques Android pris en charge pour le développement d&#039;applications]]&lt;br /&gt;
* [[Fonctions RTL standard relatives aux chemins sur les plates-formes cible prises en charge|Fonctions RTL standard relatives aux chemins sur les plates-formes cible prises en charge]]&lt;br /&gt;
* [[FireMonkey|FireMonkey]]&lt;br /&gt;
* [[Application multi-périphérique|Application multi-périphérique]]{{f|vcl|&lt;br /&gt;
* [[Introduction à la bibliothèque des composants visuels (VCL)|Introduction à la bibliothèque des composants visuels (VCL)]] }}&lt;br /&gt;
&lt;br /&gt;
[[Category:Rio]]&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Syst%C3%A8mes_de_gestion_de_base_de_donn%C3%A9es_support%C3%A9s_par_dbExpress&amp;diff=213717</id>
		<title>Systèmes de gestion de base de données supportés par dbExpress</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Syst%C3%A8mes_de_gestion_de_base_de_donn%C3%A9es_support%C3%A9s_par_dbExpress&amp;diff=213717"/>
		<updated>2020-07-30T09:56:22Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Framework dbExpress}}{{DISPLAYTITLE:Systèmes de gestion de base de données pris en charge par dbExpress}}&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;[[Framework dbExpress|dbExpress]]&#039;&#039;&#039; fournit une prise en charge intégrée des systèmes de gestion de base de données (SGBD) suivants :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Système de gestion de bases de données&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Versions prises en charge&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | [[Plates-formes cible prises en charge|Plates-formes prises en charge]]&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Bibliothèques requises&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Paramètre DriverID&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Pilote&lt;br /&gt;
! Client**&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | ASA (Sybase SQL Anywhere)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 12&amp;lt;br /&amp;gt;11&amp;lt;br /&amp;gt;10&amp;lt;br /&amp;gt;9&amp;lt;br /&amp;gt;8*&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxasa.dll&lt;br /&gt;
| dbodbc*.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | ASA&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlasa.dylib&lt;br /&gt;
| libdbodbc12.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | ASE (Sybase ASE)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 12.5&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | dbxase.dll&lt;br /&gt;
| libct.dll&amp;lt;br /&amp;gt;libcs.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | ASE&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
| libsybct64.dll&amp;lt;br /&amp;gt;libsybcs64.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | DB2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 9.5&amp;lt;br /&amp;gt;9.1&amp;lt;br /&amp;gt;8.x*&amp;lt;br /&amp;gt;7.x*&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | dbxdb2.dll&lt;br /&gt;
| db2cli.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | DB2&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| db2cli64.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | DataSnap&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | midas.dll&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | DataSnap&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | midas.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Android 32 bits&amp;lt;br /&amp;gt;Android 64 bits&amp;lt;br /&amp;gt;iOS Device 32 bits&amp;lt;br /&amp;gt;iOS Device 64 bits&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | libmidas.a&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | libmidas.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Firebird&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 2.5&amp;lt;br /&amp;gt;2.1&amp;lt;br /&amp;gt;1.5&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxfb.dll&lt;br /&gt;
| fbclient.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Firebird&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlfb.dylib&lt;br /&gt;
| /Library/Frameworks/Firebird.framework/Firebird&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | IBLite/ToGo&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | XE3&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | dbxint.dll&lt;br /&gt;
| ibtogo.dll&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | IBLite/ToGo&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
| ibtogo64.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Android 32 bits&amp;lt;br /&amp;gt;Android 64 bits&amp;lt;br /&amp;gt;iOS Device 32 bits&amp;lt;br /&amp;gt;iOS Device 64 bits&lt;br /&gt;
| Fonctionnalité fournie par l&#039;unité Data.DBXInterBase.&lt;br /&gt;
| libibtogo.a&amp;lt;br /&amp;gt;(liée statiquement, déploiement inutile)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| iOS Simulator&amp;lt;br /&amp;gt;macOS&lt;br /&gt;
| libsqlib.dylib&lt;br /&gt;
| libibtogo.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Informix&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 9.x&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxinf.dll&lt;br /&gt;
| isqlb09a.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Informix&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlinf.dylib&lt;br /&gt;
| libifcli.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | InterBase Server&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | XE3&amp;lt;br /&amp;gt;XE&amp;lt;br /&amp;gt;2009&amp;lt;br /&amp;gt;2007&amp;lt;br /&amp;gt;7.5.1&amp;lt;br /&amp;gt;7.1*&amp;lt;br /&amp;gt;8.0*&amp;lt;br /&amp;gt;6.5*&lt;br /&gt;
| Windows 32 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | dbxint.dll&lt;br /&gt;
| gds32.DLL&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | InterBase Server&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Windows 64 bits&lt;br /&gt;
| ibclient64.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| iOS Simulator&amp;lt;br /&amp;gt;macOS&lt;br /&gt;
| libsqlib.dylib&lt;br /&gt;
| libgds.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | MSSQL (Microsoft SQL Server)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 2008&amp;lt;br /&amp;gt;2005&amp;lt;br /&amp;gt;2000&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxmss.dll&lt;br /&gt;
| sqlncli10.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | MSSQL&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| dbxmss9.dll&lt;br /&gt;
| sqlncli.dll&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | MySQL&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 5.1&amp;lt;br /&amp;gt;5.0.27&amp;lt;br /&amp;gt;4.1*&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxmys.dll&lt;br /&gt;
| libmysql.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | MySQL&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlmys.dylib&lt;br /&gt;
| libmysqlclient.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ODBC&amp;lt;br /&amp;gt;(pont vers plusieurs systèmes de gestion de bases de données)&lt;br /&gt;
|&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| Fonctionnalité fournie par l&#039;unité Data.DBXOdbc.&lt;br /&gt;
|&lt;br /&gt;
| Odbc&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Oracle&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 11g&amp;lt;br /&amp;gt;10g&amp;lt;br /&amp;gt;9.2.0*&amp;lt;br /&amp;gt;9.1.0*&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| dbxora.dll&lt;br /&gt;
| oci.dll&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Oracle&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlora.dylib&lt;br /&gt;
| libociei.dylib&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | SQLite&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 3.x&lt;br /&gt;
| Windows 32 bits&amp;lt;br /&amp;gt;Windows 64 bits&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | Fonctionnalité fournie par l&#039;unité Data.DbxSqlite.&lt;br /&gt;
| sqlite3.dll&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | SQLite&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Android 32 bits&amp;lt;br /&amp;gt;Android 64 bits&lt;br /&gt;
| sqlite.so&amp;lt;br /&amp;gt;(fournie par le système, déploiement inutile)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Périphérique iOS 32 bits&amp;lt;br /&amp;gt;Périphérique iOS 64 bits&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | libsqlite3.dylib&amp;lt;br /&amp;gt;(fournie par le système, déploiement inutile)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Simulateur iOS&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| macOS&lt;br /&gt;
| libsqlite3.dylib&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Remarques :&#039;&#039;&#039;&lt;br /&gt;
:* Les pilotes ne sont pas totalement certifiés avec les versions des systèmes de gestion de bases de données marquées par un caractère *.&lt;br /&gt;
:* Les clients sont disponibles en téléchargement sur les sites Web des éditeurs.&lt;br /&gt;
:* Toutes les éditions de RAD Studio ne prennent pas en charge tous les systèmes de gestion de bases de données ci-dessus.&lt;br /&gt;
:* Des éditeurs tiers peuvent fournir des pilotes dbExpress qui prennent en charge d&#039;autres systèmes de gestion de bases de données.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Informations spécifiques aux bases de données DbExpress|Informations spécifiques aux bases de données DbExpress]]&lt;br /&gt;
* [[Déploiement des applications de base de données dbExpress|Déploiement des applications de base de données dbExpress]]&lt;br /&gt;
* [[Mappage des types de données dbExpress pour les bases de données prises en charge|Mappage des types de données dbExpress pour les bases de données prises en charge]]&lt;br /&gt;
* [[Prise en charge du framework et du pilote dbExpress pour SQL Anywhere 11|Prise en charge du framework et du pilote dbExpress pour SQL Anywhere 11]]&lt;br /&gt;
* [[Prise en charge du framework et du pilote dbExpress pour SQL Anywhere 12|Prise en charge du framework et du pilote dbExpress pour SQL Anywhere 12]]&lt;br /&gt;
* [[InterBase ToGo avec dbExpress|InterBase ToGo avec dbExpress]]&lt;br /&gt;
&lt;br /&gt;
* [[Compatibilité du framework dbExpress|Compatibilité du framework dbExpress]]&lt;br /&gt;
* [[Présentation des fonctionnalités dbExpress|Présentation des fonctionnalités dbExpress]]&lt;br /&gt;
&lt;br /&gt;
* [[Tutoriel mobile : Utilisation de InterBase ToGo avec dbExpress (iOS et Android)|Tutoriel mobile : Utilisation de InterBase ToGo avec dbExpress (iOS et Android)]]&lt;br /&gt;
* [[Tutoriel mobile : Utilisation de dbExpress et SQLite (iOS et Android)|Tutoriel mobile : Utilisation de dbExpress et SQLite (iOS et Android)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Ajout_d%27un_SDK_Android&amp;diff=213714</id>
		<title>Ajout d&#039;un SDK Android</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Ajout_d%27un_SDK_Android&amp;diff=213714"/>
		<updated>2020-07-30T09:46:53Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications mobiles Android}}&lt;br /&gt;
&lt;br /&gt;
Un &#039;&#039;&#039;[[Gestionnaire de SDK|kit de développement logiciel (SDK)]]&#039;&#039;&#039; fournit un ensemble de fichiers qui sont utilisés pour construire des applications pour une plate-forme cible. Quand vous développez des applications pour Android, le &#039;&#039;&#039;SDK&#039;&#039;&#039; et le &#039;&#039;&#039;NDK Android&#039;&#039;&#039; sont requis sur votre système de développement. Ils ont tous les deux besoin d&#039;être connus par le &#039;&#039;&#039;[[Gestionnaire de SDK|Gestionnaire de SDK]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=={{Product}} fournit un SDK Android==&lt;br /&gt;
&lt;br /&gt;
Pendant [[Installation|l&#039;installation de {{Product}}]], l&#039;installateur ajoute les outils de développement Android requis à votre système et configure un SDK Android sur le &#039;&#039;&#039;Gestionnaire de SDK&#039;&#039;&#039; qui les utilise.&lt;br /&gt;
&lt;br /&gt;
Pour utiliser une version différente des outils de développement Android précédemment installés sur votre système de développement, il vous suffit d&#039;ajouter un SDK Android à {{Product}} tel qu&#039;expliqué  [[#Ajout d&#039;un SDK Android à {{Product}}|ci-dessous]].&lt;br /&gt;
&lt;br /&gt;
==Ajout d&#039;un SDK Android à {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Pour ajouter un SDK Android à {{Product}} :&lt;br /&gt;
&lt;br /&gt;
# Sélectionnez {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Déploiement &amp;amp;gt; [[Gestionnaire de SDK|Gestionnaire de SDK]]}} et cliquez sur le bouton &#039;&#039;&#039;Ajouter&#039;&#039;&#039;.&lt;br /&gt;
# Sur la boîte de dialogue &#039;&#039;&#039;[[Ajouter un nouveau SDK|Ajouter un nouveau SDK]]&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Android&#039;&#039;&#039; dans la liste déroulante &#039;&#039;&#039;Sélectionner une plate-forme&#039;&#039;&#039;.&lt;br /&gt;
# Sur la liste déroulante &#039;&#039;&#039;Sélectionner une version SDK&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Ajouter nouveau&#039;&#039;&#039; et suivez les étapes de l&#039;expert &#039;&#039;&#039;[[Créer un nouveau SDK Android|Créer un nouveau SDK Android]]&#039;&#039;&#039; :&lt;br /&gt;
## Dans les champs &#039;&#039;&#039;Chemin de base du SDK Android&#039;&#039;&#039; et &#039;&#039;&#039;Chemin de base du NDK Android&#039;&#039;&#039;, naviguez et sélectionnez vos emplacements SDK et NDK, respectivement.&lt;br /&gt;
## L&#039;expert &#039;&#039;&#039;Créer un nouveau SDK Android&#039;&#039;&#039; remplit maintenant le reste des champs ici et sur la page &#039;&#039;&#039;Emplacements des outils Android&#039;&#039;&#039;. Patientez un moment jusqu&#039;à ce que ce processus se termine.&lt;br /&gt;
## Pour les champs qui ne sont pas remplis automatiquement ou sont marqués par [[File:YellowBang.png]], cliquez sur le champ d&#039;entrée et naviguez jusqu&#039;à l&#039;emplacement installé de cette bibliothèque sur votre système.&lt;br /&gt;
## Sélectionnez &#039;&#039;&#039;Terminer&#039;&#039;&#039; pour terminer la création de votre nouveau SDK.&lt;br /&gt;
# Cochez la case &#039;&#039;&#039;Rendre actif le SDK sélectionné&#039;&#039;&#039; pour que le nouveau SDK soit le SDK par défaut pour Android.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;OK&#039;&#039;&#039; pour continuer.&lt;br /&gt;
&lt;br /&gt;
La version de votre SDK Android est maintenant listée dans le &#039;&#039;&#039;[[Gestionnaire de SDK|Gestionnaire de SDK]]&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
:[[File:SDK versions.png|=link]]&lt;br /&gt;
&lt;br /&gt;
La version du SDK Android doit maintenant être incluse dans votre plate-forme cible Android dans le Gestionnaire de projets :&lt;br /&gt;
&lt;br /&gt;
:[[File:Android sdk.png|=link]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Gestionnaire de SDK|Gestionnaire de SDK]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Ajout_d%27un_SDK_Android&amp;diff=213715</id>
		<title>Ajout d&#039;un SDK Android</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Ajout_d%27un_SDK_Android&amp;diff=213715"/>
		<updated>2020-07-30T09:46:39Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications mobiles Android}}&lt;br /&gt;
&lt;br /&gt;
Un &#039;&#039;&#039;[[Gestionnaire de SDK|kit de développement logiciel (SDK)]]&#039;&#039;&#039; fournit un ensemble de fichiers qui sont utilisés pour construire des applications pour une plate-forme cible. Quand vous développez des applications pour Android, le &#039;&#039;&#039;SDK&#039;&#039;&#039; et le &#039;&#039;&#039;NDK Android&#039;&#039;&#039; sont requis sur votre système de développement. Ils ont tous les deux besoin d&#039;être connus par le &#039;&#039;&#039;[[Gestionnaire de SDK|Gestionnaire de SDK]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=={{Product}} fournit un SDK Android==&lt;br /&gt;
&lt;br /&gt;
Pendant [[Installation|l&#039;installation de {{Product}}]], l&#039;installateur ajoute les outils de développement Android requis à votre système et configure un SDK Android sur le &#039;&#039;&#039;Gestionnaire de SDK&#039;&#039;&#039; qui les utilise.&lt;br /&gt;
&lt;br /&gt;
Pour utiliser une version différente des outils de développement Android précédemment installés sur votre système de développement, il vous suffit d&#039;ajouter un SDK Android à {{Product}} tel qu&#039;expliqué  [[#Ajout d&#039;un SDK Android à {{Product}}|ci-dessous]].&lt;br /&gt;
&lt;br /&gt;
==Ajout d&#039;un SDK Android à {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Pour ajouter un SDK Android à {{Product}} :&lt;br /&gt;
&lt;br /&gt;
# Sélectionnez {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Déploiement &amp;amp;gt; [[Gestionnaire de SDK|Gestionnaire de SDK]]}} et cliquez sur le bouton &#039;&#039;&#039;Ajouter&#039;&#039;&#039;.&lt;br /&gt;
# Sur la boîte de dialogue &#039;&#039;&#039;[[Ajouter un nouveau SDK|Ajouter un nouveau SDK]]&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Android&#039;&#039;&#039; dans la liste déroulante &#039;&#039;&#039;Sélectionner une plate-forme&#039;&#039;&#039;.&lt;br /&gt;
# Sur la liste déroulante &#039;&#039;&#039;Sélectionner une version SDK&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Ajouter nouveau&#039;&#039;&#039; et suivez les étapes de l&#039;expert &#039;&#039;&#039;[[Créer un nouveau SDK Android|Créer un nouveau SDK Android]]&#039;&#039;&#039; :&lt;br /&gt;
## Dans les champs &#039;&#039;&#039;Chemin de base du SDK Android&#039;&#039;&#039; et &#039;&#039;&#039;Chemin de base du NDK Android&#039;&#039;&#039;, naviguez et sélectionnez vos emplacements SDK et NDK, respectivement.&lt;br /&gt;
## L&#039;expert &#039;&#039;&#039;Créer un nouveau SDK Android&#039;&#039;&#039; remplit maintenant le reste des champs ici et sur la page &#039;&#039;&#039;Emplacements des outils Android&#039;&#039;&#039;. Patientez un moment jusqu&#039;à ce que ce processus se termine.&lt;br /&gt;
## Pour les champs qui ne sont pas remplis automatiquement ou sont marqués par [[File:YellowBang.png]], cliquez sur le champ d&#039;entrée et naviguez jusqu&#039;à l&#039;emplacement installé de cette bibliothèque sur votre système.&lt;br /&gt;
## Sélectionnez &#039;&#039;&#039;Terminer&#039;&#039;&#039; pour terminer la création de votre nouveau SDK.&lt;br /&gt;
# Cochez la case &#039;&#039;&#039;Rendre actif le SDK sélectionné&#039;&#039;&#039; pour que le nouveau SDK soit le SDK par défaut pour Android.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;OK&#039;&#039;&#039; pour continuer.&lt;br /&gt;
&lt;br /&gt;
La version de votre SDK Android est maintenant listée dans le &#039;&#039;&#039;[[Gestionnaire de SDK|Gestionnaire de SDK]]&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
:[[File:SDK versions.png|=link]]&lt;br /&gt;
&lt;br /&gt;
La version du SDK Android doit maintenant être incluse dans votre plate-forme cible Android dans le Gestionnaire de projets :&lt;br /&gt;
&lt;br /&gt;
:[[File:Android sdk.png|=link]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Gestionnaire de SDK|Gestionnaire de SDK]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Exceptions_natives_du_SE&amp;diff=213712</id>
		<title>Exceptions natives du SE</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Exceptions_natives_du_SE&amp;diff=213712"/>
		<updated>2020-07-30T09:42:02Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Débogueurs Embarcadero}}&lt;br /&gt;
&lt;br /&gt;
{{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Options du débogueur &amp;amp;gt; Débogueurs {{Company}} &amp;amp;gt; Exceptions natives du SE}}&lt;br /&gt;
&lt;br /&gt;
Utilisez cette boîte de dialogue pour déterminer la façon dont les exceptions sont gérées par le débogueur. Sélectionnez une exception dans la liste et modifiez les options &#039;&#039;&#039;Gérées par&#039;&#039;&#039; et &#039;&#039;&#039;A la reprise&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Ajouter&lt;br /&gt;
|&lt;br /&gt;
Affiche la boîte de dialogue &#039;&#039;&#039;[[Ajout d&#039;une étendue d&#039;exception|Ajout d&#039;une étendue d&#039;exception]]&#039;&#039;&#039;, dans laquelle vous pouvez ajouter des exceptions définies par l&#039;utilisateur devant être gérées par le débogueur.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Retirer&lt;br /&gt;
|&lt;br /&gt;
Retire l&#039;exception définie par l&#039;utilisateur sélectionnée de la liste.  Les exceptions natives du système d&#039;exploitation ne peuvent pas être retirées.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Exceptions&lt;br /&gt;
|&lt;br /&gt;
Répertorie les exceptions natives du système d&#039;exploitation, ainsi que toutes les exceptions définies par l&#039;utilisateur. Les groupes d&#039;exceptions suivants sont répertoriés&amp;amp;nbsp;:&lt;br /&gt;
* Des exceptions du SE Windows 32 bits&lt;br /&gt;
* Des exceptions du SE Windows 64 bits (pour les applications multi-périphériques)&lt;br /&gt;
* Des exceptions et des signaux Linux 64 bits&lt;br /&gt;
* Des exceptions et des signaux Android 32 bits (pour les applications multi-périphériques)&lt;br /&gt;
* Des exceptions et des signaux Android 64 bits (pour les applications multi-périphériques)&lt;br /&gt;
* Des exceptions et des signaux iOS 64 bits (pour les applications multi-périphériques)&lt;br /&gt;
 &lt;br /&gt;
* Des exceptions et des signaux iOS 32 bits (pour les applications multi-périphériques)&lt;br /&gt;
* Des exceptions et des signaux macOS Mach 32 bits (pour les applications multi-périphériques)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Gérées par&lt;br /&gt;
|&lt;br /&gt;
Spécifie si l&#039;exception sera gérée par le débogueur ou par votre programme. Si vous avez ajouté à votre projet la gestion des exceptions, sélectionnez &#039;&#039;&#039;Programme utilisateur&#039;&#039;&#039;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
A la reprise&lt;br /&gt;
|&lt;br /&gt;
Spécifie si le produit continuera à gérer les exceptions, ou si le projet s&#039;exécutera alors qu&#039;elles sont non gérées.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Exceptions du langage|Exceptions du langage]]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/5b2yeyab.aspx Handling and Throwing Exceptions (MSDN) (EN)]&lt;br /&gt;
* [http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/Mach/Mach.html Mach Overview (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence RAD Studio]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Exceptions_natives_du_SE&amp;diff=213713</id>
		<title>Exceptions natives du SE</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Exceptions_natives_du_SE&amp;diff=213713"/>
		<updated>2020-07-30T09:41:48Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Débogueurs Embarcadero}}&lt;br /&gt;
&lt;br /&gt;
{{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Options du débogueur &amp;amp;gt; Débogueurs {{Company}} &amp;amp;gt; Exceptions natives du SE}}&lt;br /&gt;
&lt;br /&gt;
Utilisez cette boîte de dialogue pour déterminer la façon dont les exceptions sont gérées par le débogueur. Sélectionnez une exception dans la liste et modifiez les options &#039;&#039;&#039;Gérées par&#039;&#039;&#039; et &#039;&#039;&#039;A la reprise&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Ajouter&lt;br /&gt;
|&lt;br /&gt;
Affiche la boîte de dialogue &#039;&#039;&#039;[[Ajout d&#039;une étendue d&#039;exception|Ajout d&#039;une étendue d&#039;exception]]&#039;&#039;&#039;, dans laquelle vous pouvez ajouter des exceptions définies par l&#039;utilisateur devant être gérées par le débogueur.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Retirer&lt;br /&gt;
|&lt;br /&gt;
Retire l&#039;exception définie par l&#039;utilisateur sélectionnée de la liste.  Les exceptions natives du système d&#039;exploitation ne peuvent pas être retirées.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Exceptions&lt;br /&gt;
|&lt;br /&gt;
Répertorie les exceptions natives du système d&#039;exploitation, ainsi que toutes les exceptions définies par l&#039;utilisateur. Les groupes d&#039;exceptions suivants sont répertoriés&amp;amp;nbsp;:&lt;br /&gt;
* Des exceptions du SE Windows 32 bits&lt;br /&gt;
* Des exceptions du SE Windows 64 bits (pour les applications multi-périphériques)&lt;br /&gt;
* Des exceptions et des signaux Linux 64 bits&lt;br /&gt;
* Des exceptions et des signaux Android 32 bits (pour les applications multi-périphériques)&lt;br /&gt;
* Des exceptions et des signaux Android 64 bits (pour les applications multi-périphériques)&lt;br /&gt;
* Des exceptions et des signaux iOS 64 bits (pour les applications multi-périphériques)&lt;br /&gt;
 &lt;br /&gt;
* Des exceptions et des signaux iOS 32 bits (pour les applications multi-périphériques)&lt;br /&gt;
* Des exceptions et des signaux macOS Mach 32 bits (pour les applications multi-périphériques)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Gérées par&lt;br /&gt;
|&lt;br /&gt;
Spécifie si l&#039;exception sera gérée par le débogueur ou par votre programme. Si vous avez ajouté à votre projet la gestion des exceptions, sélectionnez &#039;&#039;&#039;Programme utilisateur&#039;&#039;&#039;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
A la reprise&lt;br /&gt;
|&lt;br /&gt;
Spécifie si le produit continuera à gérer les exceptions, ou si le projet s&#039;exécutera alors qu&#039;elles sont non gérées.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Exceptions du langage|Exceptions du langage]]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/5b2yeyab.aspx Handling and Throwing Exceptions (MSDN) (EN)]&lt;br /&gt;
* [http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/Mach/Mach.html Mach Overview (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Référence RAD Studio]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9requis_de_plate-forme_FireMonkey&amp;diff=213710</id>
		<title>Prérequis de plate-forme FireMonkey</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9requis_de_plate-forme_FireMonkey&amp;diff=213710"/>
		<updated>2020-07-30T09:23:05Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Guide des applications FireMonkey}}&lt;br /&gt;
&lt;br /&gt;
==Plates-formes prises en charge==&lt;br /&gt;
&lt;br /&gt;
{{FM}} s&#039;exécute sur les plates-formes suivantes :&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Plates-formes&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Applications&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Windows 32 bits &lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 32 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Windows 64 bits &lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 64 bits &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
macOS, noyau 32 bits (Delphi et C++) ou 64 bits (Delphi uniquement)&lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 32 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Périphérique iOS - 32 bits (C++ et {{Delphi}}) ou simulateur ({{Delphi}})&lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 32 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Périphérique iOS - 64 bits &lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 64 bits &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Android 32 bits, ciblant les périphériques Android&lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 32 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Android 64 bits, ciblant les périphériques Android (Delphi) &lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 64 bits &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[FireMonkey pour Linux|Linux - 64 bits (Delphi)]]&lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 64 bits &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* L&#039;EDI de {{Variables|Product}} est une application Windows 32 bits. Il nécessite donc l&#039;environnement de développement Windows (32 bits ou 64 bits). &lt;br /&gt;
* Le serveur &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; est nécessaire pour le développement multi-périphérique pour macOS ou iOS (périphérique ou simulateur).&lt;br /&gt;
&lt;br /&gt;
==Exigences matérielles et du système d&#039;exploitation pour la plate-forme cible et les systèmes de développement==&lt;br /&gt;
&lt;br /&gt;
Toutes les applications {{FM}} nécessitent une unité de traitement des graphiques (&#039;&#039;&#039;GPU&#039;&#039;&#039;) à la fois sur la plate-forme cible et le système de développement. L&#039;unité GPU est accessible directement ou par le biais de la virtualisation.&lt;br /&gt;
&lt;br /&gt;
===Exigences Windows===&lt;br /&gt;
&lt;br /&gt;
* GPU de base :&lt;br /&gt;
** Toute classe DirectX 11.0 fournisseur ou supérieur &lt;br /&gt;
** Pour les graphiques 3D, Direct3D 11.1 ou supérieur (nuanceur de pixels de niveau 5) est préféré, mais la version installée de Direct3D sera utilisée&lt;br /&gt;
***  Vous pouvez télécharger Direct3D depuis [http://msdn.microsoft.com/en-us/library/windows/desktop/hh404562(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/hh404562(v=vs.85).aspx (EN)] &amp;lt;br /&amp;gt;(fichiers Windows6.1-KB2670838-x64.msu ou Windows6.1-KB2670838-x86.msu)&lt;br /&gt;
*** Exigences de mémoire supplémentaire pour 3D : le système doit autoriser des ressources dont la taille est supérieure à 4 Go, tout en conservant les index de toutes les ressources en 32 bits&lt;br /&gt;
* Microsoft Windows 10&lt;br /&gt;
* Microsoft Windows 8.1&lt;br /&gt;
* Microsoft Windows 7 SP1&lt;br /&gt;
* Microsoft Windows Server 2012 R2  &lt;br /&gt;
* Microsoft Windows Server 2016&lt;br /&gt;
&lt;br /&gt;
===Exigences macOS===&lt;br /&gt;
&lt;br /&gt;
Votre Mac comporte une unité GPU qualifiée s&#039;il s&#039;exécute sur l&#039;un des systèmes d&#039;exploitation suivants :&lt;br /&gt;
&lt;br /&gt;
* macOS 10.12 Sierra&lt;br /&gt;
* macOS 10.13 High Sierra&lt;br /&gt;
* macOS 10.14 Mojave&lt;br /&gt;
* macOS 10.15 Catalina&lt;br /&gt;
&lt;br /&gt;
Pour le développement d&#039;applications  macOS, les logiciels suivants doivent être installés sur le Mac :&lt;br /&gt;
&lt;br /&gt;
* Xcode 8, Xcode 9, Xcode 10 ou Xcode 11. Voir [[Installation de Xcode sur un Mac|Installation de Xcode]]&lt;br /&gt;
&lt;br /&gt;
===Exigences iOS===&lt;br /&gt;
&lt;br /&gt;
Vous devez connecter un périphérique iOS à votre Mac via un port USB afin d&#039;exécuter une app iOS sur un périphérique iOS. Les périphériques iOS suivants sont pris en charge :&lt;br /&gt;
&lt;br /&gt;
* iPod Touch, iPhone ou iPad&lt;br /&gt;
* iOS 10&lt;br /&gt;
* iOS 11&lt;br /&gt;
* iOS 12&lt;br /&gt;
* iOS 13&lt;br /&gt;
&lt;br /&gt;
Pour le développement d&#039;applications iOS, les éléments suivants doivent être installés sur le Mac :&lt;br /&gt;
&lt;br /&gt;
* iOS 10.3.x SDK, iOS 11 SDK, iOS 12 SDK, ou iOS 13 SDK&lt;br /&gt;
* Xcode 8, Xcode 9, ou Xcode 10. Voir [[Installation de Xcode sur un Mac|Installation de Xcode]]&lt;br /&gt;
&lt;br /&gt;
===Exigences Android===&lt;br /&gt;
&lt;br /&gt;
Vous devez connecter un périphérique Android physique à votre système de développement via un port USB afin d&#039;exécuter une app sur un périphérique Android. &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;{{Variables|Product}}&#039;&#039;&#039; prend en charge le développement d&#039;applications pour les périphériques Android s&#039;exécutant sur un processeur ARMv7 supportant [http://www.arm.com/products/processors/technologies/neon.php NEON (EN)].&lt;br /&gt;
&lt;br /&gt;
Pour une liste des versions Android prises en charge, voir &#039;&#039;&#039;[[Périphériques Android pris en charge pour le développement d&#039;applications|Périphériques Android pris en charge pour le développement d&#039;applications]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;installation du produit, {{Product}} installe le SDK Android Tools Revision {{AndroidToolsRevision}} et le NDK Android. Il inclut :&lt;br /&gt;
&lt;br /&gt;
* La version du système d&#039;exploitation Android {{AndroidSDKVersion}} (Niveau API {{AndroidAPILevel}})&lt;br /&gt;
* Le NDK Android ({{AndroidNDKVersion}})&lt;br /&gt;
&lt;br /&gt;
{{Avertissement|{{Product}} prend en charge ces outils de développement Android. N&#039;utilisez pas d&#039;autres versions ou mettez-les à jour indépendamment de {{Product}}.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Travailler avec un Mac et un PC|Travailler avec un Mac et un PC]]&lt;br /&gt;
* [[Création d&#039;une application FireMonkey|Création d&#039;une application FireMonkey]]&lt;br /&gt;
* [[Développement d&#039;applications OS X|Développement d&#039;applications MacOS]]&lt;br /&gt;
* [[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]]&lt;br /&gt;
* [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]]&lt;br /&gt;
&lt;br /&gt;
[[Category:XE4]]&lt;br /&gt;
[[Category:FMX]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9bogage_des_applications_multi-p%C3%A9riph%C3%A9riques&amp;diff=213708</id>
		<title>Débogage des applications multi-périphériques</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9bogage_des_applications_multi-p%C3%A9riph%C3%A9riques&amp;diff=213708"/>
		<updated>2020-07-30T09:23:05Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Applications multi-périphériques - Index|Applications multi-périphériques}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Architecture du débogage des applications multi-périphériques==&lt;br /&gt;
&lt;br /&gt;
===Débogage des applications macOS===&lt;br /&gt;
&lt;br /&gt;
[[File:785px-Debub Macok.png|600 px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur la plate-forme macOS, le débogueur nécessite des permissions de fichier.  Le débogage sur macOS est une opération privilégiée ; seul un processus avec des droits d&#039;accès adéquats peut agir en tant que débogueur. Pour de plus amples informations, voir &#039;&#039;&#039;[[Acquisition de la permission permettant de prendre en charge le débogage sur un Mac|Acquisition de la permission permettant de supporter le débogage sur un Mac]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour des détails sur le développement des applications macOS, voir &#039;&#039;&#039;[[Développement d&#039;applications OS X|Développement d&#039;applications macOS]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Débogage des apps iOS===&lt;br /&gt;
&lt;br /&gt;
[[File:IOS Debugging1.png|800px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour le débogage sur les plates-formes cible &#039;&#039;&#039;Simulateur iOS&#039;&#039;&#039;, &#039;&#039;&#039;Périphérique iOS - 32 bits&#039;&#039;&#039; et &#039;&#039;&#039;Périphérique iOS - 64 bits&#039;&#039;&#039;, certaines fonctionnalités traditionnelles du débogueur ne sont pas disponibles. Pour de plus amples informations, voir &#039;&#039;&#039;[[Débogage des apps iOS|Débogage des apps iOS]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Pour des détails sur le développement des apps iOS, voir &#039;&#039;&#039;[[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Débogage des applications Android===&lt;br /&gt;
&lt;br /&gt;
[[File:Android Debugging.png|600 px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour des détails sur le développement des apps Android, voir &#039;&#039;&#039;[[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Le débogueur intégré de {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Le débogueur {{Variables|Product}} intégré vous permet de déboguer une application qui cible toute [[Plates-formes cible prises en charge|plate-forme cible prise en charge]]. Le débogueur intégré supporte typiquement les applications {{Delphi}} et C++, excepté pour les plates-formes C++ Windows 64 bits, {{Delphi}} iOS et Android.&lt;br /&gt;
&lt;br /&gt;
{{Variables|Product}} prend en charge les débogueurs suivants, qui s&#039;exécutent sur la plate-forme cible spécifique :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} Win64 pour {{Delphi}}&#039;&#039;&#039; (sur un PC fonctionnant sous un système d&#039;exploitation Windows 64 bits)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} Win64 pour C++&#039;&#039;&#039; (sur un PC fonctionnant sous un système d&#039;exploitation Windows 64 bits)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur 32 bits macOS {{Company}}&#039;&#039;&#039; (sur un Mac fonctionnant sous une version 32 bits de macOS)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur 64 bits macOS {{Company}}&#039;&#039;&#039; (sur un Mac fonctionnant sous une version 64 bits de macOS)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} iOS pour le simulateur iOS&#039;&#039;&#039; (sur un Mac)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} iOS32 pour le périphérique iOS 32 bits&#039;&#039;&#039; (sur un périphérique iOS 32 bits et 64 bits connecté)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} iOS64 pour le périphérique iOS 64 bits&#039;&#039;&#039; (sur un périphérique iOS 64 bits connecté)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur Android {{Company}} pour le périphérique Android 32 bits&#039;&#039;&#039; (sur un périphérique Android 32 bits ou 64 bits connecté)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur Android {{Company}} pour le périphérique Android 64 bits&#039;&#039;&#039; (sur un périphérique 64 bits connecté)&lt;br /&gt;
&lt;br /&gt;
Les débogueurs {{Company}} appropriés sont installés quand vous préparez votre environnement de développement comme décrit dans l&#039;aide. Par exemple, quand vous suivez les étapes du [[Développement d&#039;applications OS X|développement d&#039;applications macOS]], &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; et le débogueur macOS sont installés sur votre Mac. De même, quand vous suivez les étapes du [[Développement d&#039;applications mobiles iOS|développement d&#039;applications mobiles iOS]], PAServer et le débogueur iOS de {{Variables|Product}} sont installés sur votre Mac en tant que plate-forme intermédiaire qui prend en charge votre plate-forme cible (iOS). Les débogueurs {{Company}} qui sont recensés sur votre système sont listés dans &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; [[Options du débogueur|Options du débogueur]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Note|Les bibliothèque partagées supplémentaires sont chargées dans le &#039;&#039;&#039;débogueur&#039;&#039;&#039; &#039;&#039;&#039;iOS64&#039;&#039;&#039;. Ces bibliothèques partagées sont contrôlées par le débogueur et peuvent être ignorées. Voici certaines de ces bibliothèques : &amp;lt;code&amp;gt;__lldb_apple_objc_v2_get_dynamic_class_info, __lldb_caller_function, __lldb_apple_objc_v2_get_shared_cache_class_info, and __lldb_caller_function&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
{{Note|Des threads supplémentaires sont parfois exécutés dans le &#039;&#039;&#039;débogueur&#039;&#039;&#039; &#039;&#039;&#039;iOS64&#039;&#039;&#039;. Ces threads sont contrôlés par le débogueur et peuvent être ignorés.}}&lt;br /&gt;
{{Note|La &#039;&#039;&#039;nouvelle solution de débogage&#039;&#039;&#039; décrite dans cette rubrique est la solution recommandée pour le débogage d&#039;applications multi-périphériques pour macOS, iOS, Android et Windows 64 bits (à partir d&#039;un système de développement Windows 32 bits).  Dans ce scénario, vous utilisez le débogueur multi-périphérique spécifique (exécuté sur la plate-forme cible) conjointement au débogueur intégré dans l&#039;EDI.&lt;br /&gt;
Bien que la [[Débogage distant - Procédures d&#039;ancien style|solution de débogage distant d&#039;ancien style]] soit toujours prise en charge, et qu&#039;elle puisse être utilisée facultativement pour installer et exécuter les débogueurs multi-périphériques, l&#039;utilisation de cette solution pour les applications multi-périphériques n&#039;est pas actuellement documentée.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Avec le débogage Win32 distant, vous pouvez, si vous le souhaitez, continuer à utiliser le &#039;&#039;&#039;débogueur distant (d&#039;ancien style) pré-existant&#039;&#039;&#039; pour toutes les opérations de débogage distant de bureau. N&#039;oubliez pas cependant que vous devrez copier manuellement les fichiers sur la plate-forme cible, comme auparavant. Pour obtenir des instructions sur l&#039;utilisation du débogueur distant d&#039;ancien style, voir [[Présentation du débogage distant|Présentation du débogage distant]] et les [[Débogage distant - Procédures d&#039;ancien style|procédures]] associées.  La solution de débogage distant d&#039;ancien style peut être utilisée pour le débogage Win32 distant (comme auparavant) et pour le débogage des applications Win64 et macOS. Toutefois, l&#039;aide ne donne pas encore de détails sur la procédure d&#039;utilisation du débogueur distant d&#039;ancien style pour le débogage multi-périphérique.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Lors de la tentative de lancement d&#039;une application Android 64 bits sur un périphérique Android 32 bits, le message suivant apparaît à la place d&#039;un message indiquant une incompatibilité : Impossible de démarrer le noyau LLDB : ‘./lldb-server[17]: syntax error: unexpected ‘)’.}}&lt;br /&gt;
&lt;br /&gt;
==Exigences relatives au débogage multi-périphérique dans {{Product}}==&lt;br /&gt;
&lt;br /&gt;
* Si une application est exécutée sur une plate-forme cible &#039;&#039;&#039;macOS&#039;&#039;&#039;, &#039;&#039;&#039;Périphérique iOS - 32 bits&#039;&#039;&#039;, &#039;&#039;&#039;Périphérique iOS - 64 bits&#039;&#039;&#039; ou &#039;&#039;&#039;Simulateur iOS&#039;&#039;&#039;, &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; et un &#039;&#039;&#039;[[Gestionnaire de profils de connexion|profil de connexion]]&#039;&#039;&#039; sont requis pour établir une session de débogage.&lt;br /&gt;
*: La plate-forme cible &#039;&#039;&#039;Android&#039;&#039;&#039; et la plate-forme cible Win64 système ne nécessitent ni Platform Assistant ni profil de connexion.&lt;br /&gt;
* Certaines plates-formes cible requièrent l&#039;ajout d&#039;un &#039;&#039;&#039;SDK&#039;&#039;&#039; comme décrit dans la section suivante [[#Exigences pour le débogage multi-périphérique dans {{Product}}|Exigences pour le débogage multi-périphérique]].&lt;br /&gt;
&lt;br /&gt;
Typiquement, le débogueur et le processus débogué s&#039;exécutent sur la plate-forme cible. C&#039;est le cas du périphérique iOS et du périphérique Android.&lt;br /&gt;
Mais dans chaque cas, le débogueur signale le statut et interagit avec vous sur le PC de développement dans l&#039;EDI de {{Variables|Product}}. Cela signifie que l&#039;utilisation de l&#039;un des débogueurs multi-périphériques est très similaire à celle du débogueur intégré pour les applications Win32. Pour des informations communes plus détaillées sur le débogage, voir [[Présentation du débogage|Présentation du débogage]].&lt;br /&gt;
&lt;br /&gt;
Pour effectuer un débogage multi-périphérique :&lt;br /&gt;
&lt;br /&gt;
* Votre application doit avoir une &#039;&#039;&#039;[[Activation et configuration de la plate-forme cible|plate-forme cible]]&#039;&#039;&#039; activée :&lt;br /&gt;
** Windows 64 bits (depuis un PC de développement Windows 32 bits)&lt;br /&gt;
** macOS&lt;br /&gt;
** iOS (Delphi prend en charge le simulateur iOS ou les deux plates-formes périphérique iOS ; C++ ne prend en charge que les deux plates-formes périphérique iOS)&lt;br /&gt;
** Android (périphérique Android)&lt;br /&gt;
** Windows 32 bits et 64 bits à distance.&lt;br /&gt;
* Selon la plate-forme cible :&lt;br /&gt;
**Pour les plates-formes &#039;&#039;&#039;macOS&#039;&#039;&#039; et &#039;&#039;&#039;iOS&#039;&#039;&#039; :&lt;br /&gt;
*** &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; doit être [[Exécution de Platform Assistant sur un Mac|exécuté sur le Mac]].&lt;br /&gt;
*** Votre application doit être approvisionnée, avoir le code signé et un &#039;&#039;&#039;[[Gestionnaire de profils de connexion|profil de connexion]]&#039;&#039;&#039; associé.&lt;br /&gt;
**:{{Note|Il n&#039;est pas nécessaire d&#039;effectuer l&#039;approvisionnement et la signature de code des applications &#039;&#039;&#039;macOS&#039;&#039;&#039;.}}&lt;br /&gt;
*** Votre système de développement doit avoir une connexion dynamique au Mac (c&#039;est-à-dire que &#039;&#039;&#039;Tester connexion&#039;&#039;&#039; doit réussir sur la fenêtre [[Gestionnaire de profils de connexion|Gestionnaire de profils de connexion]]).&lt;br /&gt;
***: Cette connexion vous permet d&#039;utiliser le débogueur intégré et le &#039;&#039;&#039;Gestionnaire de déploiement&#039;&#039;&#039;.&lt;br /&gt;
*** En outre, pour les deux plates-formes &#039;&#039;&#039;Périphérique iOS&#039;&#039;&#039;, un périphérique iOS approvisionné doit être connecté au Mac par un câble USB.&lt;br /&gt;
**:{{Note|Vous ne pouvez pas utiliser le débogueur intégré pour déboguer une application iOS compilée avec la configuration de plate-forme &#039;&#039;&#039;Magasin d&#039;applications&#039;&#039;&#039;.}}&lt;br /&gt;
**Pour la plate-forme &#039;&#039;&#039;Windows 32 bits&#039;&#039;&#039; :&lt;br /&gt;
*** Vous n&#039;avez pas besoin d&#039;utiliser Platform Assistant car votre environnement de débogage est en machine, et le débogueur intégré s&#039;exécute automatiquement. Cependant, si vous souhaitez déboguer à distance une application &#039;&#039;&#039;Windows 32 bits&#039;&#039;&#039;, vous devez définir l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; sur {{True}} dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur Delphi &amp;amp;gt; Liaison}}.&lt;br /&gt;
**Pour la plate-forme &#039;&#039;&#039;Windows 64 bits&#039;&#039;&#039; :&lt;br /&gt;
***Si vous êtes connecté à un PC 64 bits distant :&lt;br /&gt;
**** Vous devez utiliser Platform Assistant et un profil de connexion.&lt;br /&gt;
**** Votre système de développement doit avoir une connexion dynamique au PC 64 bits distant (c&#039;est-à-dire que l&#039;action &#039;&#039;&#039;Tester connexion&#039;&#039;&#039; doit réussir dans la fenêtre [[Gestionnaire de profils de connexion|Gestionnaire de profils de connexion]]). Cette connexion vous permet d&#039;utiliser le débogueur intégré et le &#039;&#039;&#039;Gestionnaire de déploiement&#039;&#039;&#039;.&lt;br /&gt;
***Si votre système de développement est un PC fonctionnant sous un système d&#039;exploitation Windows 64 bits :&lt;br /&gt;
**** Vous n&#039;avez pas besoin d&#039;utiliser Platform Assistant car votre environnement de débogage est en machine, et le débogueur intégré s&#039;exécute automatiquement.&lt;br /&gt;
**** Vous pouvez néanmoins choisir d&#039;utiliser facultativement Platform Assistant et un profil de connexion, comme vous le feriez pour un système cible Windows 64 bits distant. Cela vous permet d&#039;utiliser le &#039;&#039;&#039;[[Gestionnaire de déploiement|Gestionnaire de déploiement]]&#039;&#039;&#039;.&lt;br /&gt;
** Un SDK est &#039;&#039;&#039;requis&#039;&#039;&#039; (sur le [[Gestionnaire de SDK|Gestionnaire de SDK]]) pour les plates-formes et types d&#039;applications suivants :&lt;br /&gt;
*** Les applications multi-périphériques {{FM}} C++ pour la plate-forme &#039;&#039;&#039;macOS&#039;&#039;&#039;.&lt;br /&gt;
*** Les applications multi-périphériques {{FM}} {{Delphi}} pour les plates-formes &#039;&#039;&#039;Périphérique iOS - 32 bits&#039;&#039;&#039; et &#039;&#039;&#039;Périphérique iOS - 64 bits&#039;&#039;&#039; &lt;br /&gt;
*** Les applications multi-périphériques {{FM}} {{Delphi}} pour la plate-forme &#039;&#039;&#039;Android&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Débogage avec {{CBuilder}} Windows 64 bits==&lt;br /&gt;
&lt;br /&gt;
Pour le débogage d&#039;applications C++ Windows 64 bits, certaines fonctionnalités du débogueur ne sont pas disponibles.&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir &#039;&#039;&#039;[[Débogage des applications C++ Builder Windows 64 bits|Débogage des applications C++ Builder Windows 64 bits]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Démarrage du débogueur avec une commande &#039;Exécuter&#039;==&lt;br /&gt;
&lt;br /&gt;
Quand toutes les [[#Exigences relatives au débogage multi-périphérique dans {{Product}}|exigences relatives au débogage multi-périphérique]] sont satisfaites, l&#039;entrée de la commande &#039;&#039;&#039;Exécuter&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
* Copie les fichiers nécessaires entre le PC hôte et la machine cible spécifiée dans le profil de connexion.&lt;br /&gt;
* Exécute l&#039;application dans le débogueur approprié requis pour la plate-forme.&lt;br /&gt;
&lt;br /&gt;
Par exemple, si &#039;&#039;&#039;macOS&#039;&#039;&#039; est la plate-forme cible active, l&#039;exécutable est copié sur le Mac.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser l&#039;une des commandes &#039;&#039;&#039;Exécuter&#039;&#039;&#039; standard pour démarrer le débogage d&#039;une application multi-périphérique (pour macOS ou Win64) :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Exécuter|Exécuter]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;F9&#039;&#039;&#039;) (compile et exécute l&#039;application dans le débogueur intégré)&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Pas à pas|Pas à pas]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;F8&#039;&#039;&#039;)&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Pas à pas approfondi|Pas à pas approfondi]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;F7&#039;&#039;&#039;)&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Exécuter jusqu&#039;au curseur et Exécuter jusqu&#039;au retour|Exécuter jusqu&#039;au retour]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;Maj+F8&#039;&#039;&#039;)&lt;br /&gt;
*&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Exécuter jusqu&#039;au curseur et Exécuter jusqu&#039;au retour|Exécuter jusqu&#039;au curseur]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;F4&#039;&#039;&#039;)&lt;br /&gt;
*: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; La commande Exécuter jusqu&#039;au curseur n&#039;est pas prise en charge pour le lancement du débogueur sur la plate-forme Android.&lt;br /&gt;
&lt;br /&gt;
==Démarrage du débogueur avec &#039;Attacher au processus&#039; et &#039;Charger un processus distant&#039;==&lt;br /&gt;
&lt;br /&gt;
Pour exécuter et déboguer un binaire compilé sur une machine exécutant le serveur Platform Assistant (un PC distant ou un Mac), vous pouvez utiliser :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Attacher au processus|Attacher au processus]]&#039;&#039;&#039; pour déboguer un processus en cours d&#039;exécution qui est soit local, soit distant. L&#039;utilisation de [[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant et d&#039;un profil de connexion]] est recommandée ici. Certaines plates-formes ne sont pas prises en charge comme indiqué dans la boîte de dialogue [[Attacher au processus|Attacher au processus]].&lt;br /&gt;
*: {{Note|L&#039;attachement à un processus en cours d&#039;exécution n&#039;est pas pris en charge pour le &#039;&#039;&#039;débogueur {{Company}} Périphérique iOS32&#039;&#039;&#039;, le &#039;&#039;&#039;débogueur {{Company}} Périphérique iOS64&#039;&#039;&#039; ou le &#039;&#039;&#039;débogueur {{Company}} Android&#039;&#039;&#039;.}}&lt;br /&gt;
*&#039;&#039;&#039;[[Charger un processus Local|Charger un processus Local]]&#039;&#039;&#039; pour charger un processus débogué local.&lt;br /&gt;
*: {{Note|L&#039;attachement à un processus en cours d&#039;exécution n&#039;est pas pris en charge pour le &#039;&#039;&#039;débogueur {{Company}} Périphérique iOS32&#039;&#039;&#039;, le &#039;&#039;&#039;débogueur {{Company}} Périphérique iOS64&#039;&#039;&#039; ou le &#039;&#039;&#039;débogueur {{Company}} Android&#039;&#039;&#039;.}}&lt;br /&gt;
*&#039;&#039;&#039;[[Charger un processus distant|Charger un processus Distant]]&#039;&#039;&#039; pour charger un processus débogué et l&#039;exécuter sur une machine distante, avec quelques restrictions concernant les profils de connexion. Certaines plates-formes ne sont pas prises en charge, comme indiqué dans la boîte de dialogue [[Charger un processus distant|Charger un processus distant]].&lt;br /&gt;
*:{{Note|Le chargement d&#039;un processus distant n&#039;est pas pris en charge pour le &#039;&#039;&#039;débogueur Android {{Company}}&#039;&#039;&#039;.}}&lt;br /&gt;
*:L&#039;utilisation de [[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]] et d&#039;un [[Gestionnaire de profils de connexion|profil de connexion]] est recommandée ici.&lt;br /&gt;
&lt;br /&gt;
===Problèmes de minutage avec Charger un processus===&lt;br /&gt;
&lt;br /&gt;
Si vous rencontrez des problèmes lors du débogage d&#039;une app &#039;&#039;&#039;macOS&#039;&#039;&#039;, c&#039;est-à-dire que celle-ci se bloque immédiatement après que vous l&#039;ayez exécutée à l&#039;aide de &#039;&#039;&#039;Charger un processus&#039;&#039;&#039;, essayez de sélectionner l&#039;option &#039;&#039;&#039;Ne pas exécuter&#039;&#039;&#039; ou &#039;&#039;&#039;Exécuter jusqu&#039;au point d&#039;entrée du programme&#039;&#039;&#039; (ces deux options sont disponibles sous la zone &amp;quot;Après le chargement&amp;quot;). Ces options peuvent résoudre les problèmes de minutage qui surviennent lorsque l&#039;app est exécutée et accède à des événements de débogage, alors que le débogueur est configuré et prêt à gérer les événements. Ces problèmes de minutage peuvent provoquer l&#039;arrêt intempestif du débogueur.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Présentation du débogage|Présentation du débogage]]&lt;br /&gt;
* [[Débogage des applications - Index|Comment utiliser le débogueur]]&lt;br /&gt;
* [[Débogage distant - Procédures d&#039;ancien style|Débogage distant - Procédures d&#039;ancien style]]&lt;br /&gt;
* [[Création et test d&#039;un profil de connexion sur le PC de développement|Création et test d&#039;un profil de connexion sur le PC de développement]]&lt;br /&gt;
* [[PAServer, l&#039;application serveur Platform Assistant|PAServer, l&#039;application serveur Platform Assistant]]&lt;br /&gt;
* [[Débogage des applications C++ Builder Windows 64 bits|Débogage des applications C++ Builder Windows 64 bits]]&lt;br /&gt;
* [[Débogage des apps iOS|Débogage des apps iOS]]&lt;br /&gt;
* [[Exécution et débogage de votre application Android sur un périphérique Android à distance|Exécution et débogage de votre application Android sur un périphérique Android à distance]]&lt;br /&gt;
* [[Acquisition de la permission permettant de prendre en charge le débogage sur un Mac|Acquisition de la permission permettant de prendre en charge le débogage sur un Mac]]&lt;br /&gt;
* [http://blogs.msdn.com/b/ntdebugging/archive/2009/01/09/challenges-of-debugging-optimized-x64-code.aspx Debugging optimized Win64 code (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:XE2]]&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9requis_de_plate-forme_FireMonkey&amp;diff=213711</id>
		<title>Prérequis de plate-forme FireMonkey</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Pr%C3%A9requis_de_plate-forme_FireMonkey&amp;diff=213711"/>
		<updated>2020-07-30T09:22:52Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Guide des applications FireMonkey}}&lt;br /&gt;
&lt;br /&gt;
==Plates-formes prises en charge==&lt;br /&gt;
&lt;br /&gt;
{{FM}} s&#039;exécute sur les plates-formes suivantes :&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Plates-formes&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Applications&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Windows 32 bits &lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 32 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Windows 64 bits &lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 64 bits &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
macOS, noyau 32 bits (Delphi et C++) ou 64 bits (Delphi uniquement)&lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 32 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Périphérique iOS - 32 bits (C++ et {{Delphi}}) ou simulateur ({{Delphi}})&lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 32 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Périphérique iOS - 64 bits &lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 64 bits &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Android 32 bits, ciblant les périphériques Android&lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 32 bits&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Android 64 bits, ciblant les périphériques Android (Delphi) &lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 64 bits &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[FireMonkey pour Linux|Linux - 64 bits (Delphi)]]&lt;br /&gt;
|&lt;br /&gt;
Applications {{FM}} 64 bits &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* L&#039;EDI de {{Variables|Product}} est une application Windows 32 bits. Il nécessite donc l&#039;environnement de développement Windows (32 bits ou 64 bits). &lt;br /&gt;
* Le serveur &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; est nécessaire pour le développement multi-périphérique pour macOS ou iOS (périphérique ou simulateur).&lt;br /&gt;
&lt;br /&gt;
==Exigences matérielles et du système d&#039;exploitation pour la plate-forme cible et les systèmes de développement==&lt;br /&gt;
&lt;br /&gt;
Toutes les applications {{FM}} nécessitent une unité de traitement des graphiques (&#039;&#039;&#039;GPU&#039;&#039;&#039;) à la fois sur la plate-forme cible et le système de développement. L&#039;unité GPU est accessible directement ou par le biais de la virtualisation.&lt;br /&gt;
&lt;br /&gt;
===Exigences Windows===&lt;br /&gt;
&lt;br /&gt;
* GPU de base :&lt;br /&gt;
** Toute classe DirectX 11.0 fournisseur ou supérieur &lt;br /&gt;
** Pour les graphiques 3D, Direct3D 11.1 ou supérieur (nuanceur de pixels de niveau 5) est préféré, mais la version installée de Direct3D sera utilisée&lt;br /&gt;
***  Vous pouvez télécharger Direct3D depuis [http://msdn.microsoft.com/en-us/library/windows/desktop/hh404562(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/hh404562(v=vs.85).aspx (EN)] &amp;lt;br /&amp;gt;(fichiers Windows6.1-KB2670838-x64.msu ou Windows6.1-KB2670838-x86.msu)&lt;br /&gt;
*** Exigences de mémoire supplémentaire pour 3D : le système doit autoriser des ressources dont la taille est supérieure à 4 Go, tout en conservant les index de toutes les ressources en 32 bits&lt;br /&gt;
* Microsoft Windows 10&lt;br /&gt;
* Microsoft Windows 8.1&lt;br /&gt;
* Microsoft Windows 7 SP1&lt;br /&gt;
* Microsoft Windows Server 2012 R2  &lt;br /&gt;
* Microsoft Windows Server 2016&lt;br /&gt;
&lt;br /&gt;
===Exigences macOS===&lt;br /&gt;
&lt;br /&gt;
Votre Mac comporte une unité GPU qualifiée s&#039;il s&#039;exécute sur l&#039;un des systèmes d&#039;exploitation suivants :&lt;br /&gt;
&lt;br /&gt;
* macOS 10.12 Sierra&lt;br /&gt;
* macOS 10.13 High Sierra&lt;br /&gt;
* macOS 10.14 Mojave&lt;br /&gt;
* macOS 10.15 Catalina&lt;br /&gt;
&lt;br /&gt;
Pour le développement d&#039;applications  macOS, les logiciels suivants doivent être installés sur le Mac :&lt;br /&gt;
&lt;br /&gt;
* Xcode 8, Xcode 9, Xcode 10 ou Xcode 11. Voir [[Installation de Xcode sur un Mac|Installation de Xcode]]&lt;br /&gt;
&lt;br /&gt;
===Exigences iOS===&lt;br /&gt;
&lt;br /&gt;
Vous devez connecter un périphérique iOS à votre Mac via un port USB afin d&#039;exécuter une app iOS sur un périphérique iOS. Les périphériques iOS suivants sont pris en charge :&lt;br /&gt;
&lt;br /&gt;
* iPod Touch, iPhone ou iPad&lt;br /&gt;
* iOS 10&lt;br /&gt;
* iOS 11&lt;br /&gt;
* iOS 12&lt;br /&gt;
* iOS 13&lt;br /&gt;
&lt;br /&gt;
Pour le développement d&#039;applications iOS, les éléments suivants doivent être installés sur le Mac :&lt;br /&gt;
&lt;br /&gt;
* iOS 10.3.x SDK, iOS 11 SDK, iOS 12 SDK, ou iOS 13 SDK&lt;br /&gt;
* Xcode 8, Xcode 9, ou Xcode 10. Voir [[Installation de Xcode sur un Mac|Installation de Xcode]]&lt;br /&gt;
&lt;br /&gt;
===Exigences Android===&lt;br /&gt;
&lt;br /&gt;
Vous devez connecter un périphérique Android physique à votre système de développement via un port USB afin d&#039;exécuter une app sur un périphérique Android. &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;{{Variables|Product}}&#039;&#039;&#039; prend en charge le développement d&#039;applications pour les périphériques Android s&#039;exécutant sur un processeur ARMv7 supportant [http://www.arm.com/products/processors/technologies/neon.php NEON (EN)].&lt;br /&gt;
&lt;br /&gt;
Pour une liste des versions Android prises en charge, voir &#039;&#039;&#039;[[Périphériques Android pris en charge pour le développement d&#039;applications|Périphériques Android pris en charge pour le développement d&#039;applications]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lors de l&#039;installation du produit, {{Product}} installe le SDK Android Tools Revision {{AndroidToolsRevision}} et le NDK Android. Il inclut :&lt;br /&gt;
&lt;br /&gt;
* La version du système d&#039;exploitation Android {{AndroidSDKVersion}} (Niveau API {{AndroidAPILevel}})&lt;br /&gt;
* Le NDK Android ({{AndroidNDKVersion}})&lt;br /&gt;
&lt;br /&gt;
{{Avertissement|{{Product}} prend en charge ces outils de développement Android. N&#039;utilisez pas d&#039;autres versions ou mettez-les à jour indépendamment de {{Product}}.}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Travailler avec un Mac et un PC|Travailler avec un Mac et un PC]]&lt;br /&gt;
* [[Création d&#039;une application FireMonkey|Création d&#039;une application FireMonkey]]&lt;br /&gt;
* [[Développement d&#039;applications OS X|Développement d&#039;applications MacOS]]&lt;br /&gt;
* [[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]]&lt;br /&gt;
* [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]]&lt;br /&gt;
&lt;br /&gt;
[[Category:XE4]]&lt;br /&gt;
[[Category:FMX]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9bogage_des_applications_multi-p%C3%A9riph%C3%A9riques&amp;diff=213709</id>
		<title>Débogage des applications multi-périphériques</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9bogage_des_applications_multi-p%C3%A9riph%C3%A9riques&amp;diff=213709"/>
		<updated>2020-07-30T09:22:52Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Applications multi-périphériques - Index|Applications multi-périphériques}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Architecture du débogage des applications multi-périphériques==&lt;br /&gt;
&lt;br /&gt;
===Débogage des applications macOS===&lt;br /&gt;
&lt;br /&gt;
[[File:785px-Debub Macok.png|600 px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur la plate-forme macOS, le débogueur nécessite des permissions de fichier.  Le débogage sur macOS est une opération privilégiée ; seul un processus avec des droits d&#039;accès adéquats peut agir en tant que débogueur. Pour de plus amples informations, voir &#039;&#039;&#039;[[Acquisition de la permission permettant de prendre en charge le débogage sur un Mac|Acquisition de la permission permettant de supporter le débogage sur un Mac]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour des détails sur le développement des applications macOS, voir &#039;&#039;&#039;[[Développement d&#039;applications OS X|Développement d&#039;applications macOS]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Débogage des apps iOS===&lt;br /&gt;
&lt;br /&gt;
[[File:IOS Debugging1.png|800px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour le débogage sur les plates-formes cible &#039;&#039;&#039;Simulateur iOS&#039;&#039;&#039;, &#039;&#039;&#039;Périphérique iOS - 32 bits&#039;&#039;&#039; et &#039;&#039;&#039;Périphérique iOS - 64 bits&#039;&#039;&#039;, certaines fonctionnalités traditionnelles du débogueur ne sont pas disponibles. Pour de plus amples informations, voir &#039;&#039;&#039;[[Débogage des apps iOS|Débogage des apps iOS]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Pour des détails sur le développement des apps iOS, voir &#039;&#039;&#039;[[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Débogage des applications Android===&lt;br /&gt;
&lt;br /&gt;
[[File:Android Debugging.png|600 px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour des détails sur le développement des apps Android, voir &#039;&#039;&#039;[[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Le débogueur intégré de {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Le débogueur {{Variables|Product}} intégré vous permet de déboguer une application qui cible toute [[Plates-formes cible prises en charge|plate-forme cible prise en charge]]. Le débogueur intégré supporte typiquement les applications {{Delphi}} et C++, excepté pour les plates-formes C++ Windows 64 bits, {{Delphi}} iOS et Android.&lt;br /&gt;
&lt;br /&gt;
{{Variables|Product}} prend en charge les débogueurs suivants, qui s&#039;exécutent sur la plate-forme cible spécifique :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} Win64 pour {{Delphi}}&#039;&#039;&#039; (sur un PC fonctionnant sous un système d&#039;exploitation Windows 64 bits)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} Win64 pour C++&#039;&#039;&#039; (sur un PC fonctionnant sous un système d&#039;exploitation Windows 64 bits)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur 32 bits macOS {{Company}}&#039;&#039;&#039; (sur un Mac fonctionnant sous une version 32 bits de macOS)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur 64 bits macOS {{Company}}&#039;&#039;&#039; (sur un Mac fonctionnant sous une version 64 bits de macOS)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} iOS pour le simulateur iOS&#039;&#039;&#039; (sur un Mac)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} iOS32 pour le périphérique iOS 32 bits&#039;&#039;&#039; (sur un périphérique iOS 32 bits et 64 bits connecté)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur {{Company}} iOS64 pour le périphérique iOS 64 bits&#039;&#039;&#039; (sur un périphérique iOS 64 bits connecté)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur Android {{Company}} pour le périphérique Android 32 bits&#039;&#039;&#039; (sur un périphérique Android 32 bits ou 64 bits connecté)&lt;br /&gt;
* &#039;&#039;&#039;Débogueur Android {{Company}} pour le périphérique Android 64 bits&#039;&#039;&#039; (sur un périphérique 64 bits connecté)&lt;br /&gt;
&lt;br /&gt;
Les débogueurs {{Company}} appropriés sont installés quand vous préparez votre environnement de développement comme décrit dans l&#039;aide. Par exemple, quand vous suivez les étapes du [[Développement d&#039;applications OS X|développement d&#039;applications macOS]], &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; et le débogueur macOS sont installés sur votre Mac. De même, quand vous suivez les étapes du [[Développement d&#039;applications mobiles iOS|développement d&#039;applications mobiles iOS]], PAServer et le débogueur iOS de {{Variables|Product}} sont installés sur votre Mac en tant que plate-forme intermédiaire qui prend en charge votre plate-forme cible (iOS). Les débogueurs {{Company}} qui sont recensés sur votre système sont listés dans &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; [[Options du débogueur|Options du débogueur]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Note|Les bibliothèque partagées supplémentaires sont chargées dans le &#039;&#039;&#039;débogueur&#039;&#039;&#039; &#039;&#039;&#039;iOS64&#039;&#039;&#039;. Ces bibliothèques partagées sont contrôlées par le débogueur et peuvent être ignorées. Voici certaines de ces bibliothèques : &amp;lt;code&amp;gt;__lldb_apple_objc_v2_get_dynamic_class_info, __lldb_caller_function, __lldb_apple_objc_v2_get_shared_cache_class_info, and __lldb_caller_function&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
{{Note|Des threads supplémentaires sont parfois exécutés dans le &#039;&#039;&#039;débogueur&#039;&#039;&#039; &#039;&#039;&#039;iOS64&#039;&#039;&#039;. Ces threads sont contrôlés par le débogueur et peuvent être ignorés.}}&lt;br /&gt;
{{Note|La &#039;&#039;&#039;nouvelle solution de débogage&#039;&#039;&#039; décrite dans cette rubrique est la solution recommandée pour le débogage d&#039;applications multi-périphériques pour macOS, iOS, Android et Windows 64 bits (à partir d&#039;un système de développement Windows 32 bits).  Dans ce scénario, vous utilisez le débogueur multi-périphérique spécifique (exécuté sur la plate-forme cible) conjointement au débogueur intégré dans l&#039;EDI.&lt;br /&gt;
Bien que la [[Débogage distant - Procédures d&#039;ancien style|solution de débogage distant d&#039;ancien style]] soit toujours prise en charge, et qu&#039;elle puisse être utilisée facultativement pour installer et exécuter les débogueurs multi-périphériques, l&#039;utilisation de cette solution pour les applications multi-périphériques n&#039;est pas actuellement documentée.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Avec le débogage Win32 distant, vous pouvez, si vous le souhaitez, continuer à utiliser le &#039;&#039;&#039;débogueur distant (d&#039;ancien style) pré-existant&#039;&#039;&#039; pour toutes les opérations de débogage distant de bureau. N&#039;oubliez pas cependant que vous devrez copier manuellement les fichiers sur la plate-forme cible, comme auparavant. Pour obtenir des instructions sur l&#039;utilisation du débogueur distant d&#039;ancien style, voir [[Présentation du débogage distant|Présentation du débogage distant]] et les [[Débogage distant - Procédures d&#039;ancien style|procédures]] associées.  La solution de débogage distant d&#039;ancien style peut être utilisée pour le débogage Win32 distant (comme auparavant) et pour le débogage des applications Win64 et macOS. Toutefois, l&#039;aide ne donne pas encore de détails sur la procédure d&#039;utilisation du débogueur distant d&#039;ancien style pour le débogage multi-périphérique.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Lors de la tentative de lancement d&#039;une application Android 64 bits sur un périphérique Android 32 bits, le message suivant apparaît à la place d&#039;un message indiquant une incompatibilité : Impossible de démarrer le noyau LLDB : ‘./lldb-server[17]: syntax error: unexpected ‘)’.}}&lt;br /&gt;
&lt;br /&gt;
==Exigences relatives au débogage multi-périphérique dans {{Product}}==&lt;br /&gt;
&lt;br /&gt;
* Si une application est exécutée sur une plate-forme cible &#039;&#039;&#039;macOS&#039;&#039;&#039;, &#039;&#039;&#039;Périphérique iOS - 32 bits&#039;&#039;&#039;, &#039;&#039;&#039;Périphérique iOS - 64 bits&#039;&#039;&#039; ou &#039;&#039;&#039;Simulateur iOS&#039;&#039;&#039;, &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; et un &#039;&#039;&#039;[[Gestionnaire de profils de connexion|profil de connexion]]&#039;&#039;&#039; sont requis pour établir une session de débogage.&lt;br /&gt;
*: La plate-forme cible &#039;&#039;&#039;Android&#039;&#039;&#039; et la plate-forme cible Win64 système ne nécessitent ni Platform Assistant ni profil de connexion.&lt;br /&gt;
* Certaines plates-formes cible requièrent l&#039;ajout d&#039;un &#039;&#039;&#039;SDK&#039;&#039;&#039; comme décrit dans la section suivante [[#Exigences pour le débogage multi-périphérique dans {{Product}}|Exigences pour le débogage multi-périphérique]].&lt;br /&gt;
&lt;br /&gt;
Typiquement, le débogueur et le processus débogué s&#039;exécutent sur la plate-forme cible. C&#039;est le cas du périphérique iOS et du périphérique Android.&lt;br /&gt;
Mais dans chaque cas, le débogueur signale le statut et interagit avec vous sur le PC de développement dans l&#039;EDI de {{Variables|Product}}. Cela signifie que l&#039;utilisation de l&#039;un des débogueurs multi-périphériques est très similaire à celle du débogueur intégré pour les applications Win32. Pour des informations communes plus détaillées sur le débogage, voir [[Présentation du débogage|Présentation du débogage]].&lt;br /&gt;
&lt;br /&gt;
Pour effectuer un débogage multi-périphérique :&lt;br /&gt;
&lt;br /&gt;
* Votre application doit avoir une &#039;&#039;&#039;[[Activation et configuration de la plate-forme cible|plate-forme cible]]&#039;&#039;&#039; activée :&lt;br /&gt;
** Windows 64 bits (depuis un PC de développement Windows 32 bits)&lt;br /&gt;
** macOS&lt;br /&gt;
** iOS (Delphi prend en charge le simulateur iOS ou les deux plates-formes périphérique iOS ; C++ ne prend en charge que les deux plates-formes périphérique iOS)&lt;br /&gt;
** Android (périphérique Android)&lt;br /&gt;
** Windows 32 bits et 64 bits à distance.&lt;br /&gt;
* Selon la plate-forme cible :&lt;br /&gt;
**Pour les plates-formes &#039;&#039;&#039;macOS&#039;&#039;&#039; et &#039;&#039;&#039;iOS&#039;&#039;&#039; :&lt;br /&gt;
*** &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; doit être [[Exécution de Platform Assistant sur un Mac|exécuté sur le Mac]].&lt;br /&gt;
*** Votre application doit être approvisionnée, avoir le code signé et un &#039;&#039;&#039;[[Gestionnaire de profils de connexion|profil de connexion]]&#039;&#039;&#039; associé.&lt;br /&gt;
**:{{Note|Il n&#039;est pas nécessaire d&#039;effectuer l&#039;approvisionnement et la signature de code des applications &#039;&#039;&#039;macOS&#039;&#039;&#039;.}}&lt;br /&gt;
*** Votre système de développement doit avoir une connexion dynamique au Mac (c&#039;est-à-dire que &#039;&#039;&#039;Tester connexion&#039;&#039;&#039; doit réussir sur la fenêtre [[Gestionnaire de profils de connexion|Gestionnaire de profils de connexion]]).&lt;br /&gt;
***: Cette connexion vous permet d&#039;utiliser le débogueur intégré et le &#039;&#039;&#039;Gestionnaire de déploiement&#039;&#039;&#039;.&lt;br /&gt;
*** En outre, pour les deux plates-formes &#039;&#039;&#039;Périphérique iOS&#039;&#039;&#039;, un périphérique iOS approvisionné doit être connecté au Mac par un câble USB.&lt;br /&gt;
**:{{Note|Vous ne pouvez pas utiliser le débogueur intégré pour déboguer une application iOS compilée avec la configuration de plate-forme &#039;&#039;&#039;Magasin d&#039;applications&#039;&#039;&#039;.}}&lt;br /&gt;
**Pour la plate-forme &#039;&#039;&#039;Windows 32 bits&#039;&#039;&#039; :&lt;br /&gt;
*** Vous n&#039;avez pas besoin d&#039;utiliser Platform Assistant car votre environnement de débogage est en machine, et le débogueur intégré s&#039;exécute automatiquement. Cependant, si vous souhaitez déboguer à distance une application &#039;&#039;&#039;Windows 32 bits&#039;&#039;&#039;, vous devez définir l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; sur {{True}} dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur Delphi &amp;amp;gt; Liaison}}.&lt;br /&gt;
**Pour la plate-forme &#039;&#039;&#039;Windows 64 bits&#039;&#039;&#039; :&lt;br /&gt;
***Si vous êtes connecté à un PC 64 bits distant :&lt;br /&gt;
**** Vous devez utiliser Platform Assistant et un profil de connexion.&lt;br /&gt;
**** Votre système de développement doit avoir une connexion dynamique au PC 64 bits distant (c&#039;est-à-dire que l&#039;action &#039;&#039;&#039;Tester connexion&#039;&#039;&#039; doit réussir dans la fenêtre [[Gestionnaire de profils de connexion|Gestionnaire de profils de connexion]]). Cette connexion vous permet d&#039;utiliser le débogueur intégré et le &#039;&#039;&#039;Gestionnaire de déploiement&#039;&#039;&#039;.&lt;br /&gt;
***Si votre système de développement est un PC fonctionnant sous un système d&#039;exploitation Windows 64 bits :&lt;br /&gt;
**** Vous n&#039;avez pas besoin d&#039;utiliser Platform Assistant car votre environnement de débogage est en machine, et le débogueur intégré s&#039;exécute automatiquement.&lt;br /&gt;
**** Vous pouvez néanmoins choisir d&#039;utiliser facultativement Platform Assistant et un profil de connexion, comme vous le feriez pour un système cible Windows 64 bits distant. Cela vous permet d&#039;utiliser le &#039;&#039;&#039;[[Gestionnaire de déploiement|Gestionnaire de déploiement]]&#039;&#039;&#039;.&lt;br /&gt;
** Un SDK est &#039;&#039;&#039;requis&#039;&#039;&#039; (sur le [[Gestionnaire de SDK|Gestionnaire de SDK]]) pour les plates-formes et types d&#039;applications suivants :&lt;br /&gt;
*** Les applications multi-périphériques {{FM}} C++ pour la plate-forme &#039;&#039;&#039;macOS&#039;&#039;&#039;.&lt;br /&gt;
*** Les applications multi-périphériques {{FM}} {{Delphi}} pour les plates-formes &#039;&#039;&#039;Périphérique iOS - 32 bits&#039;&#039;&#039; et &#039;&#039;&#039;Périphérique iOS - 64 bits&#039;&#039;&#039; &lt;br /&gt;
*** Les applications multi-périphériques {{FM}} {{Delphi}} pour la plate-forme &#039;&#039;&#039;Android&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Débogage avec {{CBuilder}} Windows 64 bits==&lt;br /&gt;
&lt;br /&gt;
Pour le débogage d&#039;applications C++ Windows 64 bits, certaines fonctionnalités du débogueur ne sont pas disponibles.&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir &#039;&#039;&#039;[[Débogage des applications C++ Builder Windows 64 bits|Débogage des applications C++ Builder Windows 64 bits]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Démarrage du débogueur avec une commande &#039;Exécuter&#039;==&lt;br /&gt;
&lt;br /&gt;
Quand toutes les [[#Exigences relatives au débogage multi-périphérique dans {{Product}}|exigences relatives au débogage multi-périphérique]] sont satisfaites, l&#039;entrée de la commande &#039;&#039;&#039;Exécuter&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
* Copie les fichiers nécessaires entre le PC hôte et la machine cible spécifiée dans le profil de connexion.&lt;br /&gt;
* Exécute l&#039;application dans le débogueur approprié requis pour la plate-forme.&lt;br /&gt;
&lt;br /&gt;
Par exemple, si &#039;&#039;&#039;macOS&#039;&#039;&#039; est la plate-forme cible active, l&#039;exécutable est copié sur le Mac.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser l&#039;une des commandes &#039;&#039;&#039;Exécuter&#039;&#039;&#039; standard pour démarrer le débogage d&#039;une application multi-périphérique (pour macOS ou Win64) :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Exécuter|Exécuter]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;F9&#039;&#039;&#039;) (compile et exécute l&#039;application dans le débogueur intégré)&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Pas à pas|Pas à pas]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;F8&#039;&#039;&#039;)&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Pas à pas approfondi|Pas à pas approfondi]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;F7&#039;&#039;&#039;)&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Exécuter jusqu&#039;au curseur et Exécuter jusqu&#039;au retour|Exécuter jusqu&#039;au retour]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;Maj+F8&#039;&#039;&#039;)&lt;br /&gt;
*&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Exécuter &amp;amp;gt; [[Exécuter jusqu&#039;au curseur et Exécuter jusqu&#039;au retour|Exécuter jusqu&#039;au curseur]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; (&#039;&#039;&#039;F4&#039;&#039;&#039;)&lt;br /&gt;
*: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; La commande Exécuter jusqu&#039;au curseur n&#039;est pas prise en charge pour le lancement du débogueur sur la plate-forme Android.&lt;br /&gt;
&lt;br /&gt;
==Démarrage du débogueur avec &#039;Attacher au processus&#039; et &#039;Charger un processus distant&#039;==&lt;br /&gt;
&lt;br /&gt;
Pour exécuter et déboguer un binaire compilé sur une machine exécutant le serveur Platform Assistant (un PC distant ou un Mac), vous pouvez utiliser :&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Attacher au processus|Attacher au processus]]&#039;&#039;&#039; pour déboguer un processus en cours d&#039;exécution qui est soit local, soit distant. L&#039;utilisation de [[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant et d&#039;un profil de connexion]] est recommandée ici. Certaines plates-formes ne sont pas prises en charge comme indiqué dans la boîte de dialogue [[Attacher au processus|Attacher au processus]].&lt;br /&gt;
*: {{Note|L&#039;attachement à un processus en cours d&#039;exécution n&#039;est pas pris en charge pour le &#039;&#039;&#039;débogueur {{Company}} Périphérique iOS32&#039;&#039;&#039;, le &#039;&#039;&#039;débogueur {{Company}} Périphérique iOS64&#039;&#039;&#039; ou le &#039;&#039;&#039;débogueur {{Company}} Android&#039;&#039;&#039;.}}&lt;br /&gt;
*&#039;&#039;&#039;[[Charger un processus Local|Charger un processus Local]]&#039;&#039;&#039; pour charger un processus débogué local.&lt;br /&gt;
*: {{Note|L&#039;attachement à un processus en cours d&#039;exécution n&#039;est pas pris en charge pour le &#039;&#039;&#039;débogueur {{Company}} Périphérique iOS32&#039;&#039;&#039;, le &#039;&#039;&#039;débogueur {{Company}} Périphérique iOS64&#039;&#039;&#039; ou le &#039;&#039;&#039;débogueur {{Company}} Android&#039;&#039;&#039;.}}&lt;br /&gt;
*&#039;&#039;&#039;[[Charger un processus distant|Charger un processus Distant]]&#039;&#039;&#039; pour charger un processus débogué et l&#039;exécuter sur une machine distante, avec quelques restrictions concernant les profils de connexion. Certaines plates-formes ne sont pas prises en charge, comme indiqué dans la boîte de dialogue [[Charger un processus distant|Charger un processus distant]].&lt;br /&gt;
*:{{Note|Le chargement d&#039;un processus distant n&#039;est pas pris en charge pour le &#039;&#039;&#039;débogueur Android {{Company}}&#039;&#039;&#039;.}}&lt;br /&gt;
*:L&#039;utilisation de [[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]] et d&#039;un [[Gestionnaire de profils de connexion|profil de connexion]] est recommandée ici.&lt;br /&gt;
&lt;br /&gt;
===Problèmes de minutage avec Charger un processus===&lt;br /&gt;
&lt;br /&gt;
Si vous rencontrez des problèmes lors du débogage d&#039;une app &#039;&#039;&#039;macOS&#039;&#039;&#039;, c&#039;est-à-dire que celle-ci se bloque immédiatement après que vous l&#039;ayez exécutée à l&#039;aide de &#039;&#039;&#039;Charger un processus&#039;&#039;&#039;, essayez de sélectionner l&#039;option &#039;&#039;&#039;Ne pas exécuter&#039;&#039;&#039; ou &#039;&#039;&#039;Exécuter jusqu&#039;au point d&#039;entrée du programme&#039;&#039;&#039; (ces deux options sont disponibles sous la zone &amp;quot;Après le chargement&amp;quot;). Ces options peuvent résoudre les problèmes de minutage qui surviennent lorsque l&#039;app est exécutée et accède à des événements de débogage, alors que le débogueur est configuré et prêt à gérer les événements. Ces problèmes de minutage peuvent provoquer l&#039;arrêt intempestif du débogueur.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Présentation du débogage|Présentation du débogage]]&lt;br /&gt;
* [[Débogage des applications - Index|Comment utiliser le débogueur]]&lt;br /&gt;
* [[Débogage distant - Procédures d&#039;ancien style|Débogage distant - Procédures d&#039;ancien style]]&lt;br /&gt;
* [[Création et test d&#039;un profil de connexion sur le PC de développement|Création et test d&#039;un profil de connexion sur le PC de développement]]&lt;br /&gt;
* [[PAServer, l&#039;application serveur Platform Assistant|PAServer, l&#039;application serveur Platform Assistant]]&lt;br /&gt;
* [[Débogage des applications C++ Builder Windows 64 bits|Débogage des applications C++ Builder Windows 64 bits]]&lt;br /&gt;
* [[Débogage des apps iOS|Débogage des apps iOS]]&lt;br /&gt;
* [[Exécution et débogage de votre application Android sur un périphérique Android à distance|Exécution et débogage de votre application Android sur un périphérique Android à distance]]&lt;br /&gt;
* [[Acquisition de la permission permettant de prendre en charge le débogage sur un Mac|Acquisition de la permission permettant de prendre en charge le débogage sur un Mac]]&lt;br /&gt;
* [http://blogs.msdn.com/b/ntdebugging/archive/2009/01/09/challenges-of-debugging-optimized-x64-code.aspx Debugging optimized Win64 code (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:XE2]]&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Fichiers_de_packages_cr%C3%A9%C3%A9s_lors_d%27une_compilation&amp;diff=213706</id>
		<title>Fichiers de packages créés lors d&#039;une compilation</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Fichiers_de_packages_cr%C3%A9%C3%A9s_lors_d%27une_compilation&amp;diff=213706"/>
		<updated>2020-07-30T09:03:22Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilation de packages}}&lt;br /&gt;
&lt;br /&gt;
Lorsque vous [[Compilation de packages|construisez un package]], {{Product}} génère un jeu de fichiers différent selon la plate-forme cible et le langage de programmation de votre package.&lt;br /&gt;
&lt;br /&gt;
==Windows 32 bits==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|{{Placeholder|package}}.bpl]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .bpi C/C++ (bibliothèques d&#039;importation de packages)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.lib]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.obj]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.obj&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.rsm)|{{Placeholder|package}}.rsm]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Vous n&#039;avez pas besoin d&#039;un fichier de symboles de débogage de package pour déboguer les packages.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, effectuez l&#039;une des opérations suivantes :&lt;br /&gt;
* Utilisez la valeur &amp;quot;Détaillé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
* Activez l&#039;option &#039;&#039;&#039;Générer le fichier .drc de chaînes de ressources&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez l&#039;une des valeurs autre que &amp;quot;Désactivé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.tds)|{{Placeholder|package}}.tds]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Placer les informations de débogage dans un fichier TDS distinct&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.obj]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.obj&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|{{Placeholder|package}}.bpl]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;informations de dépendance de package C++ (*.pdi)|{{Placeholder|package}}.pdi]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.tds)|{{Placeholder|package}}.tds]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Dossier de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de chemin de fichier de sortie, utilisez l&#039;option &#039;&#039;&#039;Fichier PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}} :&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de type de débogage C++|{{Placeholder|package}}.#{{Placeholder|nn}}]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Dossier de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Le chemin de ces fichiers est basé sur le chemin du [[Fichier d&#039;en-tête précompilé C++ (*.pch)|fichier d&#039;en-tête précompilé]] — {{Product}} remplace l&#039;extension de fichier {{Path|pch}} par {{Path|#{{Placeholder|nn}}}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Utilisez l&#039;option &#039;&#039;&#039;Fichier PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}} pour changer le chemin de fichier de sortie du fichier d&#039;en-tête précompilé.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Fichiers de types externes&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;état du lieur C++ (*.ilc, *.ild, *.ilf, *.ilr, *.ils)|{{Placeholder|package}}.ilc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ild&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ilf&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ils&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Fichiers d&#039;état du lieur pour la liaison incrémentielle.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Désactiver la liaison incrémentielle&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la bibliothèque d&#039;importation&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.lib]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer un fichier .drc&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Windows 64 bits==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|{{Placeholder|package}}.bpl]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .bpi C/C++ (bibliothèques d&#039;importation de packages)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.rsm)|{{Placeholder|package}}.rsm]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Vous n&#039;avez pas besoin d&#039;un fichier de symboles de débogage de package pour déboguer les packages.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unit}}.o&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, effectuez l&#039;une des opérations suivantes :&lt;br /&gt;
* Utilisez la valeur &amp;quot;Détaillé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
* Activez l&#039;option &#039;&#039;&#039;Générer le fichier .drc de chaînes de ressources&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez l&#039;une des valeurs autre que &amp;quot;Désactivé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|{{Placeholder|package}}.bpl]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;informations de dépendance de package C++ (*.pdi)|{{Placeholder|package}}.pdi]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de dépendance C++|{{Placeholder|package}}.d]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.d&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier de dépendance C++ pour chaque [[Fichier objet C++|fichier objet C++]].&lt;br /&gt;
&lt;br /&gt;
Les fichiers de dépendance C++ sont générés sur le même répertoire que les fichiers objet C++, avec l&#039;extension de fichier {{Path|o}} remplacée par {{Path|d}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}PCH1.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers d&#039;en-tête précompilés C++ pour votre package et pour chaque unité de votre package : un fichier d&#039;en-tête précompilé dynamique et un fichier d&#039;en-tête précompilé statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; Répertoires et Conditions}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}} :&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la bibliothèque d&#039;importation&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer un fichier .drc&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==macOS==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut:{{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Destination de l&#039;unité&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|bpl{{Placeholder|package}}.dylib]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++ &#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur %Dlphi% &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .bpi C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur %Dlphi% &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut:{{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur %Dlphi% &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.rsm)|bpl{{Placeholder|package}}.dylib.rsm]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Vous n&#039;avez pas besoin d&#039;un fichier de symboles de débogage de package pour déboguer les packages.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unit}}.o&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++ &#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur %Dlphi% &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, effectuez l&#039;une des opérations suivantes :&lt;br /&gt;
* Utilisez la valeur &amp;quot;Détaillé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
* Activez l&#039;option &#039;&#039;&#039;Générer le fichier .drc de chaînes de ressources&#039;&#039;&#039; de  {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|bpl{{Placeholder|package}}.dylib.map]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez l&#039;une des valeurs autre que &amp;quot;Désactivé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut:{{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres Options|Autres Options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++&amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|bpl{{Placeholder|package}}.dylib]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;informations de dépendance de package C++ (*.pdi)|{{Placeholder|package}}.pdi]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.tds)|bpl{{Placeholder|package}}.tds]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de chemin de fichier de sortie, utilisez l&#039;option &#039;&#039;&#039;Fichier PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}}:&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de type de débogage C++|{{Placeholder|package}}.#{{Placeholder|nn}}]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Le chemin de ces fichiers est basé sur le chemin du [[Fichier d&#039;en-tête précompilé C++ (*.pch)|fichier d&#039;en-têtes précompilé]] — {{Product}} remplace l&#039;extension de fichier {{Path|pch}} par {{Path|#{{Placeholder|nn}}}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de chemin du fichier de sortie de ces fichiers, utilisez l&#039;option &#039;&#039;&#039;Fichier PCH &#039;&#039;&#039; de {{Menu|projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}} pour changer le chemin do ficher de sortie du fichier d&#039;en-têtes précompilé.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Fichiers de types externes&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;état du lieur C++ (*.ilc, *.ild, *.ilf, *.ilr, *.ils)|{{Placeholder|package}}.ilc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ild&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ilf&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ilr&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ils&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Fichiers d&#039;état du lieur pour la liaison incrémentielle.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Désactiver la liaison incrémentielle&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la bibliothèque d&#039;importation&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer un fichier .drc&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Périphérique iOS 32 bits et 64 bits==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut:{{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Destination de l&#039;unité&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des règles de ressources d&#039;application Apple|ResourceRules.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers des règles de ressources d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|lib{{Placeholder|package}}.a]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, effectuez l&#039;une des opérations suivantes :&lt;br /&gt;
* Activez l&#039;option &#039;&#039;&#039;Générer un fichier .hpp&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
* Utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; pour l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt;Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|bpl{{Placeholder|package}}.dylib]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de dépendance C++|{{Placeholder|package}}.d]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.d&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier de dépendance C++ pour chaque [[Fichier objet C++|fichier objet C++]].&lt;br /&gt;
&lt;br /&gt;
Les fichiers de dépendance C++ sont générés sur le même répertoire que les fichiers objet C++, avec l&#039;extension de fichier {{Path|o}} remplacée par {{Path|d}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des règles de ressources d&#039;application Apple|ResourceRules.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers des règles de ressources d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des règles de ressources d&#039;application Apple|ResourceRules.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers des règles de ressources d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}PCH1.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers d&#039;en-tête précompilés C++ pour votre package et pour chaque unité de votre package : un fichier d&#039;en-tête précompilé dynamique et un fichier d&#039;en-tête précompilé statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++&amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}}:&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|lib{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Les packages RAD Studio sont statiquement liés sur iOS.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/File_shortcut#Microsoft_Windows {{Placeholder|package (EN)}}]&amp;lt;br /&amp;gt;&lt;br /&gt;
(raccourci de fichier, facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Retirer le fichier lieur .lnk temporaire après la liaison&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulateur iOS==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039; Non pris en charge.&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Android 32 bits et 64 bits==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier manifest d&#039;application Android (AndroidManifest.xml)|AndroidManifest.xml]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|lib{{Placeholder|package}}.a]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de dépendance C++|{{Placeholder|package}}.d]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.d&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier de dépendance C++ pour chaque [[Fichier objet C++|fichier objet C++]].&lt;br /&gt;
&lt;br /&gt;
Les fichiers de dépendance C++ sont générés sur le même répertoire que les fichiers objet C++, avec l&#039;extension de fichier {{Path|o}} remplacée par {{Path|d}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier manifest d&#039;application Android (AndroidManifest.xml)|AndroidManifest.xml]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers manifest d&#039;application Android.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier manifest d&#039;application Android (AndroidManifest.xml)|AndroidManifest.xml]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers manifest d&#039;application Android.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}PCH1.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers d&#039;en-tête précompilés C++ pour votre package et pour chaque unité de votre package : un fichier d&#039;en-tête précompilé dynamique et un fichier d&#039;en-tête précompilé statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}} :&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|lib{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Les packages RAD Studio sont statiquement liés sur Android.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/File_shortcut#Microsoft_Windows {{Placeholder|package (EN)}}]&amp;lt;br /&amp;gt;&lt;br /&gt;
(raccourci de fichier, facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Retirer le fichier lieur .lnk temporaire après la liaison&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Utilisation des packages et des composants - Présentation|Utilisation des packages et des composants - Présentation]]&lt;br /&gt;
&lt;br /&gt;
* [[Compilation de packages|Compilation de packages]]&lt;br /&gt;
* [[Compilation et liaison à partir de la ligne de commande|Compilation et liaison à partir de la ligne de commande]]&lt;br /&gt;
&lt;br /&gt;
* [[Déploiement des packages|Déploiement des packages]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Guide du développeur Windows]]&lt;br /&gt;
[[Category:XE7]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Fichiers_de_packages_cr%C3%A9%C3%A9s_lors_d%27une_compilation&amp;diff=213707</id>
		<title>Fichiers de packages créés lors d&#039;une compilation</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Fichiers_de_packages_cr%C3%A9%C3%A9s_lors_d%27une_compilation&amp;diff=213707"/>
		<updated>2020-07-30T09:03:11Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Compilation de packages}}&lt;br /&gt;
&lt;br /&gt;
Lorsque vous [[Compilation de packages|construisez un package]], {{Product}} génère un jeu de fichiers différent selon la plate-forme cible et le langage de programmation de votre package.&lt;br /&gt;
&lt;br /&gt;
==Windows 32 bits==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|{{Placeholder|package}}.bpl]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .bpi C/C++ (bibliothèques d&#039;importation de packages)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.lib]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.obj]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.obj&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.rsm)|{{Placeholder|package}}.rsm]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Vous n&#039;avez pas besoin d&#039;un fichier de symboles de débogage de package pour déboguer les packages.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, effectuez l&#039;une des opérations suivantes :&lt;br /&gt;
* Utilisez la valeur &amp;quot;Détaillé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
* Activez l&#039;option &#039;&#039;&#039;Générer le fichier .drc de chaînes de ressources&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez l&#039;une des valeurs autre que &amp;quot;Désactivé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.tds)|{{Placeholder|package}}.tds]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Placer les informations de débogage dans un fichier TDS distinct&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.obj]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.obj&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|{{Placeholder|package}}.bpl]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;informations de dépendance de package C++ (*.pdi)|{{Placeholder|package}}.pdi]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.tds)|{{Placeholder|package}}.tds]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Dossier de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de chemin de fichier de sortie, utilisez l&#039;option &#039;&#039;&#039;Fichier PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}} :&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de type de débogage C++|{{Placeholder|package}}.#{{Placeholder|nn}}]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Dossier de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Le chemin de ces fichiers est basé sur le chemin du [[Fichier d&#039;en-tête précompilé C++ (*.pch)|fichier d&#039;en-tête précompilé]] — {{Product}} remplace l&#039;extension de fichier {{Path|pch}} par {{Path|#{{Placeholder|nn}}}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Utilisez l&#039;option &#039;&#039;&#039;Fichier PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}} pour changer le chemin de fichier de sortie du fichier d&#039;en-tête précompilé.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Fichiers de types externes&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;état du lieur C++ (*.ilc, *.ild, *.ilf, *.ilr, *.ils)|{{Placeholder|package}}.ilc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ild&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ilf&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ils&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Fichiers d&#039;état du lieur pour la liaison incrémentielle.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Désactiver la liaison incrémentielle&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la bibliothèque d&#039;importation&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.lib]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer un fichier .drc&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Windows 64 bits==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|{{Placeholder|package}}.bpl]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .bpi C/C++ (bibliothèques d&#039;importation de packages)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.rsm)|{{Placeholder|package}}.rsm]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Vous n&#039;avez pas besoin d&#039;un fichier de symboles de débogage de package pour déboguer les packages.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unit}}.o&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, effectuez l&#039;une des opérations suivantes :&lt;br /&gt;
* Utilisez la valeur &amp;quot;Détaillé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
* Activez l&#039;option &#039;&#039;&#039;Générer le fichier .drc de chaînes de ressources&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez l&#039;une des valeurs autre que &amp;quot;Désactivé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|{{Placeholder|package}}.bpl]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;informations de dépendance de package C++ (*.pdi)|{{Placeholder|package}}.pdi]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de dépendance C++|{{Placeholder|package}}.d]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.d&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier de dépendance C++ pour chaque [[Fichier objet C++|fichier objet C++]].&lt;br /&gt;
&lt;br /&gt;
Les fichiers de dépendance C++ sont générés sur le même répertoire que les fichiers objet C++, avec l&#039;extension de fichier {{Path|o}} remplacée par {{Path|d}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}PCH1.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers d&#039;en-tête précompilés C++ pour votre package et pour chaque unité de votre package : un fichier d&#039;en-tête précompilé dynamique et un fichier d&#039;en-tête précompilé statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; Répertoires et Conditions}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}} :&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la bibliothèque d&#039;importation&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer un fichier .drc&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==macOS==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut:{{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Destination de l&#039;unité&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|bpl{{Placeholder|package}}.dylib]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++ &#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur %Dlphi% &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .bpi C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur %Dlphi% &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut:{{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur %Dlphi% &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.rsm)|bpl{{Placeholder|package}}.dylib.rsm]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Vous n&#039;avez pas besoin d&#039;un fichier de symboles de débogage de package pour déboguer les packages.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Inclure les symboles de débogage distant&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unit}}.o&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .obj/.lib C/C++ &#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur %Dlphi% &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, effectuez l&#039;une des opérations suivantes :&lt;br /&gt;
* Utilisez la valeur &amp;quot;Détaillé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; [[Liaison (Delphi)|Liaison]]}}.&lt;br /&gt;
* Activez l&#039;option &#039;&#039;&#039;Générer le fichier .drc de chaînes de ressources&#039;&#039;&#039; de  {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|bpl{{Placeholder|package}}.dylib.map]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez l&#039;une des valeurs autre que &amp;quot;Désactivé&amp;quot; de l&#039;option &#039;&#039;&#039;Fichier map&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Liaison}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut:{{Path|{{PublicDocumentsPath}}\hpp}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres Options|Autres Options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++&amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|bpl{{Placeholder|package}}.dylib]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.map)|{{Placeholder|package}}.map]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;informations de dépendance de package C++ (*.pdi)|{{Placeholder|package}}.pdi]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.tds)|bpl{{Placeholder|package}}.tds]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de chemin de fichier de sortie, utilisez l&#039;option &#039;&#039;&#039;Fichier PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}}:&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de type de débogage C++|{{Placeholder|package}}.#{{Placeholder|nn}}]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Le chemin de ces fichiers est basé sur le chemin du [[Fichier d&#039;en-tête précompilé C++ (*.pch)|fichier d&#039;en-têtes précompilé]] — {{Product}} remplace l&#039;extension de fichier {{Path|pch}} par {{Path|#{{Placeholder|nn}}}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de chemin du fichier de sortie de ces fichiers, utilisez l&#039;option &#039;&#039;&#039;Fichier PCH &#039;&#039;&#039; de {{Menu|projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}} pour changer le chemin do ficher de sortie du fichier d&#039;en-têtes précompilé.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Fichiers de types externes&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; En-têtes précompilés}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;état du lieur C++ (*.ilc, *.ild, *.ilf, *.ilr, *.ils)|{{Placeholder|package}}.ilc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ild&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ilf&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ilr&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|package}}.ils&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Fichiers d&#039;état du lieur pour la liaison incrémentielle.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Désactiver la liaison incrémentielle&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpi)|{{Placeholder|package}}.bpi]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la bibliothèque d&#039;importation&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de chaînes de ressources Delphi (*.drc)|{{Placeholder|package}}.drc]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer un fichier .drc&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Périphérique iOS 32 bits et 64 bits==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut:{{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Destination de l&#039;unité&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des règles de ressources d&#039;application Apple|ResourceRules.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers des règles de ressources d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|lib{{Placeholder|package}}.a]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, effectuez l&#039;une des opérations suivantes :&lt;br /&gt;
* Activez l&#039;option &#039;&#039;&#039;Générer un fichier .hpp&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
* Utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; pour l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur {{Delphi}}  &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt;Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.bpl, *.dylib, *.so)|bpl{{Placeholder|package}}.dylib]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de dépendance C++|{{Placeholder|package}}.d]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.d&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier de dépendance C++ pour chaque [[Fichier objet C++|fichier objet C++]].&lt;br /&gt;
&lt;br /&gt;
Les fichiers de dépendance C++ sont générés sur le même répertoire que les fichiers objet C++, avec l&#039;extension de fichier {{Path|o}} remplacée par {{Path|d}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des règles de ressources d&#039;application Apple|ResourceRules.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers des règles de ressources d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option&#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des règles de ressources d&#039;application Apple|ResourceRules.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers des règles de ressources d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}PCH1.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers d&#039;en-tête précompilés C++ pour votre package et pour chaque unité de votre package : un fichier d&#039;en-tête précompilé dynamique et un fichier d&#039;en-tête précompilé statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++&amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}}:&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|lib{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Les packages RAD Studio sont statiquement liés sur iOS.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/File_shortcut#Microsoft_Windows {{Placeholder|package (EN)}}]&amp;lt;br /&amp;gt;&lt;br /&gt;
(raccourci de fichier, facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|platform}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Retirer le fichier lieur .lnk temporaire après la liaison&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Construction &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulateur iOS==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des droits d&#039;application Apple (*.entitlements)|{{Placeholder|package}}.entitlements]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers de droits d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier des informations d&#039;application Apple (*.info.plist)|{{Placeholder|package}}.info.plist]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers d&#039;informations d&#039;application Apple.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039; Non pris en charge.&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Android 32 bits et 64 bits==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Delphi}} :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier unité compilé Delphi|{{Placeholder|unité}}.dcu]]&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier unité compilé {{Delphi}} pour chaque [[Unité|unité]] de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier objet C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier manifest d&#039;application Android (AndroidManifest.xml)|AndroidManifest.xml]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie des packages&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|lib{{Placeholder|package}}.a]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier package compilé Delphi|{{Placeholder|package}}.dcp]]&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie DCP&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}}}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête C++|{{Placeholder|package}}.hpp]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.hpp&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un en-tête C++ pour votre package et pour chaque unité de votre package.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie .hpp C/C++&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; [[Sortie - C/C++|Sortie - C/C++]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour activer la génération de ce fichier facultatif, utilisez la valeur &amp;quot;Générer tous les fichiers C++Builder (y compris les bibliothèques de packages)&amp;quot; de l&#039;option &#039;&#039;&#039;Génération des fichiers de sortie C/C++&#039;&#039;&#039; dans {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Sortie - C/C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Déclarations globales de sortie XML du compilateur|{{Placeholder|package}}.xml]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.xml&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère une représentation XML des sources compilés de votre package et de chaque unité de votre package. Voir [[Documentation XML pour le code Delphi|Documentation XML pour le code {{Delphi}}]].&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie de la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; [[Compilation#Autres options|Autres options]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer la documentation XML&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur {{Delphi}} &amp;amp;gt; Compilation &amp;amp;gt; Autres options}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C++ :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Fichiers&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Généré par défaut ?&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Debug&lt;br /&gt;
! Release&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier objet C++|{{Placeholder|package}}.o]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.o&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers objet C++ pour votre package et pour chaque unité de votre package : un fichier objet dynamique et un fichier objet statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers objet dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers objet statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier de dépendance C++|{{Placeholder|package}}.d]]&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Placeholder|unité}}.d&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère un fichier de dépendance C++ pour chaque [[Fichier objet C++|fichier objet C++]].&lt;br /&gt;
&lt;br /&gt;
Les fichiers de dépendance C++ sont générés sur le même répertoire que les fichiers objet C++, avec l&#039;extension de fichier {{Path|o}} remplacée par {{Path|d}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier manifest d&#039;application Android (AndroidManifest.xml)|AndroidManifest.xml]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers manifest d&#039;application Android.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier manifest d&#039;application Android (AndroidManifest.xml)|AndroidManifest.xml]]&lt;br /&gt;
|&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Vous pouvez ignorer ce fichier. Les packages ne requièrent pas les fichiers manifest d&#039;application Android.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Fichier d&#039;en-tête précompilé C++ (*.pch)|{{Placeholder|package}}PCH1.pch]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
{{Product}} génère deux fichiers d&#039;en-tête précompilés C++ pour votre package et pour chaque unité de votre package : un fichier d&#039;en-tête précompilé dynamique et un fichier d&#039;en-tête précompilé statique.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut :&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés dynamiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&lt;br /&gt;
* Fichiers d&#039;en-tête précompilés statiques : {{Path|{{ProjectsPath}}\{{Placeholder|projet}}\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}\staticobjs}}&lt;br /&gt;
&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie du fichier objet&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[Répertoires et Conditions du compilateur C++|Répertoires et Conditions]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour désactiver la génération de ce fichier facultatif, utilisez l&#039;une des valeurs suivantes pour l&#039;option &#039;&#039;&#039;Usage PCH&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Compilateur C++ &amp;amp;gt; [[En-têtes précompilés du compilateur C++|En-têtes précompilés]]}} :&lt;br /&gt;
* Ne pas utiliser&lt;br /&gt;
* Utiliser mais ne pas générer&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[API (*.lib, *.a)|lib{{Placeholder|package}}.a]]&amp;lt;br /&amp;gt;&lt;br /&gt;
(facultatif)&lt;br /&gt;
|&lt;br /&gt;
Les packages RAD Studio sont statiquement liés sur Android.&lt;br /&gt;
&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Sortie BPI/LIB&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[C++ (options partagées)|C++ (options partagées)]]}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ces fichiers facultatifs, utilisez l&#039;option &#039;&#039;&#039;Générer une bibliothèque de packages statiques (.lib)&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Lieur C++|Lieur C++]]}}.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
| style=&amp;quot;vertical-align: middle;&amp;quot; | {{V}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[http://en.wikipedia.org/wiki/File_shortcut#Microsoft_Windows {{Placeholder|package (EN)}}]&amp;lt;br /&amp;gt;&lt;br /&gt;
(raccourci de fichier, facultatif)&lt;br /&gt;
|&lt;br /&gt;
Répertoire de sortie par défaut : {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|plate-forme}}\{{Placeholder|configuration de construction}}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour changer de répertoire de sortie, utilisez l&#039;option &#039;&#039;&#039;Répertoire de sortie final&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; C++ (options partagées)}}.&lt;br /&gt;
&lt;br /&gt;
Pour basculer la génération de ce fichier facultatif, utilisez l&#039;option &#039;&#039;&#039;Retirer le fichier lieur .lnk temporaire après la liaison&#039;&#039;&#039; de {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Utilisation des packages et des composants - Présentation|Utilisation des packages et des composants - Présentation]]&lt;br /&gt;
&lt;br /&gt;
* [[Compilation de packages|Compilation de packages]]&lt;br /&gt;
* [[Compilation et liaison à partir de la ligne de commande|Compilation et liaison à partir de la ligne de commande]]&lt;br /&gt;
&lt;br /&gt;
* [[Déploiement des packages|Déploiement des packages]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Guide du développeur Windows]]&lt;br /&gt;
[[Category:XE7]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Utilisation_de_Box2D_dans_les_applications_Delphi&amp;diff=213704</id>
		<title>Utilisation de Box2D dans les applications Delphi</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Utilisation_de_Box2D_dans_les_applications_Delphi&amp;diff=213704"/>
		<updated>2020-07-30T06:32:57Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Box2D}}&lt;br /&gt;
&lt;br /&gt;
Cette rubrique explique comment utiliser Box2D dans les applications {{Delphi}}.&lt;br /&gt;
&lt;br /&gt;
==Configuration de votre application pour utiliser Box2D==&lt;br /&gt;
&lt;br /&gt;
{{Product}} ne fournit pas de fichiers {{Path|.dcu}} préconstruits pour les unités Box2D {{Delphi}}. Pour pouvoir construire un projet {{Delphi}} contenant des unités Box2D dans la clause &amp;lt;source lang=&amp;quot;delphi&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;uses&amp;lt;/source&amp;gt;, vous devez configurer le chemin de recherche de votre projet de manière que {{Product}} trouve les unités Box2D.&lt;br /&gt;
&lt;br /&gt;
Pour configurer le chemin de recherche de votre projet {{Delphi}} de manière que {{Product}} trouve les unités Box2D :&lt;br /&gt;
&lt;br /&gt;
# Sélectionnez {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
# Ajoutez {{Path|${BDS)\source\FlatBox2D}} au champ &#039;&#039;&#039;Chemin de recherche&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant [[Ajouter une référence d&#039;unité|ajouter des références à ces unités]] dans votre code de manière à pouvoir [[#Utilisation de Box2D|utiliser Box2D]].&lt;br /&gt;
&lt;br /&gt;
==Utilisation de Box2D==&lt;br /&gt;
&lt;br /&gt;
Les liaisons {{Delphi}} pour Box2D sont basées sur [http://www.learn-cocos2d.com/api-ref/1.0/Box2D/html/index.html l&#039;API C++ (EN)]. Il existe toutefois des différences notables.&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Pour utiliser les liaisons {{Delphi}} pour Box2D, vous devez être familier des [[Pointeurs et types pointeur (Delphi)|pointeurs]] et des [[Eléments syntaxiques fondamentaux (Delphi)#Identificateurs étendus|identificateurs étendus]].&lt;br /&gt;
&lt;br /&gt;
===Mappage {{Delphi}} des classes Box2D===&lt;br /&gt;
&lt;br /&gt;
Les liaisons {{Delphi}} pour Box2D exposent les classes Box2D de l&#039;une des manières suivantes :&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;enregistrement avec le nom d&#039;origine de la classe Box2D. Voir [[#Utilisation des enregistrements Box2D|Utilisation des enregistrements Box2D]].&lt;br /&gt;
* En tant qu&#039;enregistrement avec le nom d&#039;origine de la classe Box2D suivi du suffixe {{Code|Wrapper}}. Par exemple, le wrapper de {{Code|b2World}} serait {{Code|b2WorldWrapper}}. Voir [[#Utilisation des enregistrements wrapper Box2D|Utilisation des enregistrements wrapper Box2D]].&lt;br /&gt;
&lt;br /&gt;
Dans les deux cas, contrairement aux enregistrements {{Delphi}} habituels, il ne suffit pas de déclarer ces enregistrements Box2D pour les créer. Vous devez appeler leur procédure {{Code|Create}} pour vous assurer que leurs membres ont les valeurs par défaut appropriées. Si vous déclarez un enregistrement et que vous n&#039;appelez pas {{Code|Create}}, les valeurs par défaut de ses membres peuvent ne pas correspondre à celles définies par Box2D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
groundBodyDef := b2BodyDef.Create;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Utilisation des enregistrements Box2D====&lt;br /&gt;
&lt;br /&gt;
Les liaisons {{Delphi}} pour Box2D fournissent la plupart des classes Box2D sous forme d&#039;enregistrements. Les seules exceptions sont les [[#Utilisation des enregistrements wrapper Box2D|classes exposées sous forme d&#039;enregistrements wrapper]] et les [[#Définition des écouteurs Box2D|classes écouteur]].&lt;br /&gt;
&lt;br /&gt;
====Utilisation des enregistrements wrapper Box2D====&lt;br /&gt;
&lt;br /&gt;
Les liaisons {{Delphi}} pour Box2D fournissent les enregistrements wrapper suivants :&lt;br /&gt;
&lt;br /&gt;
* {{Code|b2BlockAllocatorWrapper}}&lt;br /&gt;
* {{Code|b2BodyWrapper}}&lt;br /&gt;
* {{Code|b2BroadPhaseWrapper}}&lt;br /&gt;
* {{Code|b2ChainAndCircleContactWrapper}}&lt;br /&gt;
* {{Code|b2ChainAndPolygonContactWrapper}}&lt;br /&gt;
* {{Code|b2ChainShapeWrapper}}&lt;br /&gt;
* {{Code|b2CircleContactWrapper}}&lt;br /&gt;
* {{Code|b2CircleShapeWrapper}}&lt;br /&gt;
* {{Code|b2ContactWrapper}}&lt;br /&gt;
* {{Code|b2ContactManagerWrapper}}&lt;br /&gt;
* {{Code|b2ContactSolverWrapper}}&lt;br /&gt;
* {{Code|b2DistanceJointWrapper}}&lt;br /&gt;
* {{Code|b2DrawWrapper}}&lt;br /&gt;
* {{Code|b2DynamicTreeWrapper}}&lt;br /&gt;
* {{Code|b2EdgeAndCircleContactWrapper}}&lt;br /&gt;
* {{Code|b2EdgeAndPolygonContactWrapper}}&lt;br /&gt;
* {{Code|b2EdgeShapeWrapper}}&lt;br /&gt;
* {{Code|b2FrictionJointWrapper}}&lt;br /&gt;
* {{Code|b2GearJointWrapper}}&lt;br /&gt;
* {{Code|b2IslandWrapper}}&lt;br /&gt;
* {{Code|b2JointWrapper}}&lt;br /&gt;
* {{Code|b2MotorJointWrapper}}&lt;br /&gt;
* {{Code|b2MouseJointWrapper}}&lt;br /&gt;
* {{Code|b2PolygonAndCircleContactWrapper}}&lt;br /&gt;
* {{Code|b2PolygonContactWrapper}}&lt;br /&gt;
* {{Code|b2PolygonShapeWrapper}}&lt;br /&gt;
* {{Code|b2PrismaticJointWrapper}}&lt;br /&gt;
* {{Code|b2PulleyJointWrapper}}&lt;br /&gt;
* {{Code|b2RevoluteJointWrapper}}&lt;br /&gt;
* {{Code|b2RopeWrapper}}&lt;br /&gt;
* {{Code|b2RopeJointWrapper}}&lt;br /&gt;
* {{Code|b2ShapeWrapper}}&lt;br /&gt;
* {{Code|b2StackAllocatorWrapper}}&lt;br /&gt;
* {{Code|b2WeldJointWrapper}}&lt;br /&gt;
* {{Code|b2WheelJointWrapper}}&lt;br /&gt;
* {{Code|b2WorldWrapper}}&lt;br /&gt;
&lt;br /&gt;
====Libération des enregistrements et des wrappers d&#039;enregistrements Box2D====&lt;br /&gt;
&lt;br /&gt;
Les seuls enregistrements ou wrappers d&#039;enregistrements Box2D que vous devez libérer sont des instances de {{Code|b2WorldWrapper}}. Le destructeur de {{Code|b2WorldWrapper}} libère la mémoire allouée par les corps, les fixtures ou les jointures dans l&#039;objet {{Code|b2WorldWrapper}}.&lt;br /&gt;
&lt;br /&gt;
Les exceptions à cette règle sont :&lt;br /&gt;
&lt;br /&gt;
* les ShapeWrappers,&lt;br /&gt;
* d&#039;autres wrappers que vous construisez explicitement et qui sont détruits dans C++.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
world.Destroy;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#Définition des écouteurs Box2D| Les écouteurs Box2D]] sont également une exception à cette règle.&lt;br /&gt;
&lt;br /&gt;
===Définition des écouteurs Box2D===&lt;br /&gt;
&lt;br /&gt;
Box2D définit certaines classes écouteur. Lorsque vous [[Utilisation de Box2D dans les applications C++Builder|utilisez C++]], vous pouvez créer une sous-classe d&#039;écouteur, créer une instance de votre sous-classe et recenser votre objet écouteur dans un objet Box2D, par exemple un monde ({{Code|b2World}}).&lt;br /&gt;
&lt;br /&gt;
Pour créer un objet écouteur Box2D d&#039;un certain type dans {{Delphi}}, vous devez définir une classe personnalisée qui implémente l&#039;interface de la classe écouteur Box2D cible. L&#039;interface d&#039;une classe écouteur Box2D est nommée comme la classe écouteur Box2D mais est préfixée d&#039;un {{Code|I}} majuscule. Par exemple, {{Code|Ib2ContactListener}} est l&#039;interface de la classe écouteur Box2D {{Code|b2ContactListener}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
TMyContactListener = class (TInterfacedObject, Ib2ContactListener)&lt;br /&gt;
public&lt;br /&gt;
  procedure BeginContact(contact: NativeUInt); cdecl;&lt;br /&gt;
  procedure EndContact(contact: NativeUInt); cdecl;&lt;br /&gt;
  procedure PostSolve(contact: NativeUInt; impulse: Pb2ContactImpulse); cdecl;&lt;br /&gt;
  procedure PreSolve(contact: NativeUInt; oldManifold: Pb2Manifold); cdecl;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois que vous disposez d&#039;une classe qui implémente l&#039;interface écouteur cible, vous devez créer une instance de cette classe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
myContactListener := TMyContactListener.Create;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les accesseurs en écriture d&#039;un écouteur ne peuvent pas gérer votre objet écouteur directement. A la place, vous devez obtenir un délégué (de type &amp;lt;source lang=&amp;quot;delphi&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;NativeUInt&amp;lt;/source&amp;gt;) pour votre objet écouteur et transmettre ce délégué à l&#039;accesseur en écriture de l&#039;écouteur. Utilisez {{Code|Create_{{placeholder|listener class}}_delegate}} pour créer un délégué de votre objet écouteur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
myContactListenerHandle := Create_b2ContactListener_delegate(myContactListener);&lt;br /&gt;
world.SetContactListener(myContactListenerHandle);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir détruit le monde Box2D, vous pouvez détruire votre objet écouteur en transmettant son handle à {{Code|Destroy_{{placeholder|listener class}}_delegate}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
world.Destroy;&lt;br /&gt;
Destroy_b2ContactListener_delegate(myContactListenerHandle);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Déploiement de votre application==&lt;br /&gt;
&lt;br /&gt;
Sur les plates-formes de bureau, vous devez distribuer la bibliothèque dynamique Box2D de {{Product}} en même temps que votre application.&lt;br /&gt;
&lt;br /&gt;
Le fichier de la bibliothèque dynamique Box2D de {{Product}} est disponible dans :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Windows 32 bits :&#039;&#039;&#039; {{Path|{{InstallPath}}\bin\FlatBox2DDyn.dll}}&lt;br /&gt;
* &#039;&#039;&#039;Windows 64 bits :&#039;&#039;&#039; {{Path|{{InstallPath}}\bin64\FlatBox2DDyn.dll}}&lt;br /&gt;
* &#039;&#039;&#039;macOS 32 bits:&#039;&#039;&#039; {{Path|{{InstallPath}}\binosx32\libFlatBox2DDyn.dylib}}&lt;br /&gt;
* &#039;&#039;&#039;macOS 64 bits:&#039;&#039;&#039; {{Path|{{InstallPath}}\binosx64\libFlatBox2DDyn.dylib}}&lt;br /&gt;
&lt;br /&gt;
[[Gestionnaire de déploiement - Ajout de fichiers|Ajoutez ce fichier bibliothèque au Gestionnaire de déploiement]] pour chacune des plates-formes cible prises en charge par votre application. Ainsi, lorsque vous [[Déploiement des applications - Index|déploierez votre application]] pour une plate-forme de bureau, le fichier de bibliothèque dynamique Box2D de {{Product}} sera inclus dans les fichiers déployés de votre application.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Utilisation de Box2D dans les applications C++Builder|Utilisation de Box2D dans les applications {{CBuilder}}]]&lt;br /&gt;
* [http://box2d.org/manual.pdf Manuel C++ (EN)]&lt;br /&gt;
* [http://www.learn-cocos2d.com/api-ref/1.0/Box2D/html/index.html Documentation API C++ (EN)]&lt;br /&gt;
&lt;br /&gt;
===Exemples===&lt;br /&gt;
&lt;br /&gt;
* [[Samp:Box2D Hello World (Delphi)|Box2D Hello World ({{Delphi}})]]&lt;br /&gt;
* Exemple [[samp_en:Box2D.Box2DHello|Box2D Hello]]&lt;br /&gt;
* Exemple [[samp_en:Box2D.TestBed|Box2D TestBed]]&lt;br /&gt;
* Exemple [[samp_en:FMX.SimplePhysics Sample|FMX SimplePhysics]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Utilisation_de_Box2D_dans_les_applications_Delphi&amp;diff=213705</id>
		<title>Utilisation de Box2D dans les applications Delphi</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Utilisation_de_Box2D_dans_les_applications_Delphi&amp;diff=213705"/>
		<updated>2020-07-30T06:32:46Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Box2D}}&lt;br /&gt;
&lt;br /&gt;
Cette rubrique explique comment utiliser Box2D dans les applications {{Delphi}}.&lt;br /&gt;
&lt;br /&gt;
==Configuration de votre application pour utiliser Box2D==&lt;br /&gt;
&lt;br /&gt;
{{Product}} ne fournit pas de fichiers {{Path|.dcu}} préconstruits pour les unités Box2D {{Delphi}}. Pour pouvoir construire un projet {{Delphi}} contenant des unités Box2D dans la clause &amp;lt;source lang=&amp;quot;delphi&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;uses&amp;lt;/source&amp;gt;, vous devez configurer le chemin de recherche de votre projet de manière que {{Product}} trouve les unités Box2D.&lt;br /&gt;
&lt;br /&gt;
Pour configurer le chemin de recherche de votre projet {{Delphi}} de manière que {{Product}} trouve les unités Box2D :&lt;br /&gt;
&lt;br /&gt;
# Sélectionnez {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; [[Compilateur Delphi|Compilateur {{Delphi}}]]}}.&lt;br /&gt;
# Ajoutez {{Path|${BDS)\source\FlatBox2D}} au champ &#039;&#039;&#039;Chemin de recherche&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant [[Ajouter une référence d&#039;unité|ajouter des références à ces unités]] dans votre code de manière à pouvoir [[#Utilisation de Box2D|utiliser Box2D]].&lt;br /&gt;
&lt;br /&gt;
==Utilisation de Box2D==&lt;br /&gt;
&lt;br /&gt;
Les liaisons {{Delphi}} pour Box2D sont basées sur [http://www.learn-cocos2d.com/api-ref/1.0/Box2D/html/index.html l&#039;API C++ (EN)]. Il existe toutefois des différences notables.&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Pour utiliser les liaisons {{Delphi}} pour Box2D, vous devez être familier des [[Pointeurs et types pointeur (Delphi)|pointeurs]] et des [[Eléments syntaxiques fondamentaux (Delphi)#Identificateurs étendus|identificateurs étendus]].&lt;br /&gt;
&lt;br /&gt;
===Mappage {{Delphi}} des classes Box2D===&lt;br /&gt;
&lt;br /&gt;
Les liaisons {{Delphi}} pour Box2D exposent les classes Box2D de l&#039;une des manières suivantes :&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;enregistrement avec le nom d&#039;origine de la classe Box2D. Voir [[#Utilisation des enregistrements Box2D|Utilisation des enregistrements Box2D]].&lt;br /&gt;
* En tant qu&#039;enregistrement avec le nom d&#039;origine de la classe Box2D suivi du suffixe {{Code|Wrapper}}. Par exemple, le wrapper de {{Code|b2World}} serait {{Code|b2WorldWrapper}}. Voir [[#Utilisation des enregistrements wrapper Box2D|Utilisation des enregistrements wrapper Box2D]].&lt;br /&gt;
&lt;br /&gt;
Dans les deux cas, contrairement aux enregistrements {{Delphi}} habituels, il ne suffit pas de déclarer ces enregistrements Box2D pour les créer. Vous devez appeler leur procédure {{Code|Create}} pour vous assurer que leurs membres ont les valeurs par défaut appropriées. Si vous déclarez un enregistrement et que vous n&#039;appelez pas {{Code|Create}}, les valeurs par défaut de ses membres peuvent ne pas correspondre à celles définies par Box2D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
groundBodyDef := b2BodyDef.Create;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Utilisation des enregistrements Box2D====&lt;br /&gt;
&lt;br /&gt;
Les liaisons {{Delphi}} pour Box2D fournissent la plupart des classes Box2D sous forme d&#039;enregistrements. Les seules exceptions sont les [[#Utilisation des enregistrements wrapper Box2D|classes exposées sous forme d&#039;enregistrements wrapper]] et les [[#Définition des écouteurs Box2D|classes écouteur]].&lt;br /&gt;
&lt;br /&gt;
====Utilisation des enregistrements wrapper Box2D====&lt;br /&gt;
&lt;br /&gt;
Les liaisons {{Delphi}} pour Box2D fournissent les enregistrements wrapper suivants :&lt;br /&gt;
&lt;br /&gt;
* {{Code|b2BlockAllocatorWrapper}}&lt;br /&gt;
* {{Code|b2BodyWrapper}}&lt;br /&gt;
* {{Code|b2BroadPhaseWrapper}}&lt;br /&gt;
* {{Code|b2ChainAndCircleContactWrapper}}&lt;br /&gt;
* {{Code|b2ChainAndPolygonContactWrapper}}&lt;br /&gt;
* {{Code|b2ChainShapeWrapper}}&lt;br /&gt;
* {{Code|b2CircleContactWrapper}}&lt;br /&gt;
* {{Code|b2CircleShapeWrapper}}&lt;br /&gt;
* {{Code|b2ContactWrapper}}&lt;br /&gt;
* {{Code|b2ContactManagerWrapper}}&lt;br /&gt;
* {{Code|b2ContactSolverWrapper}}&lt;br /&gt;
* {{Code|b2DistanceJointWrapper}}&lt;br /&gt;
* {{Code|b2DrawWrapper}}&lt;br /&gt;
* {{Code|b2DynamicTreeWrapper}}&lt;br /&gt;
* {{Code|b2EdgeAndCircleContactWrapper}}&lt;br /&gt;
* {{Code|b2EdgeAndPolygonContactWrapper}}&lt;br /&gt;
* {{Code|b2EdgeShapeWrapper}}&lt;br /&gt;
* {{Code|b2FrictionJointWrapper}}&lt;br /&gt;
* {{Code|b2GearJointWrapper}}&lt;br /&gt;
* {{Code|b2IslandWrapper}}&lt;br /&gt;
* {{Code|b2JointWrapper}}&lt;br /&gt;
* {{Code|b2MotorJointWrapper}}&lt;br /&gt;
* {{Code|b2MouseJointWrapper}}&lt;br /&gt;
* {{Code|b2PolygonAndCircleContactWrapper}}&lt;br /&gt;
* {{Code|b2PolygonContactWrapper}}&lt;br /&gt;
* {{Code|b2PolygonShapeWrapper}}&lt;br /&gt;
* {{Code|b2PrismaticJointWrapper}}&lt;br /&gt;
* {{Code|b2PulleyJointWrapper}}&lt;br /&gt;
* {{Code|b2RevoluteJointWrapper}}&lt;br /&gt;
* {{Code|b2RopeWrapper}}&lt;br /&gt;
* {{Code|b2RopeJointWrapper}}&lt;br /&gt;
* {{Code|b2ShapeWrapper}}&lt;br /&gt;
* {{Code|b2StackAllocatorWrapper}}&lt;br /&gt;
* {{Code|b2WeldJointWrapper}}&lt;br /&gt;
* {{Code|b2WheelJointWrapper}}&lt;br /&gt;
* {{Code|b2WorldWrapper}}&lt;br /&gt;
&lt;br /&gt;
====Libération des enregistrements et des wrappers d&#039;enregistrements Box2D====&lt;br /&gt;
&lt;br /&gt;
Les seuls enregistrements ou wrappers d&#039;enregistrements Box2D que vous devez libérer sont des instances de {{Code|b2WorldWrapper}}. Le destructeur de {{Code|b2WorldWrapper}} libère la mémoire allouée par les corps, les fixtures ou les jointures dans l&#039;objet {{Code|b2WorldWrapper}}.&lt;br /&gt;
&lt;br /&gt;
Les exceptions à cette règle sont :&lt;br /&gt;
&lt;br /&gt;
* les ShapeWrappers,&lt;br /&gt;
* d&#039;autres wrappers que vous construisez explicitement et qui sont détruits dans C++.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
world.Destroy;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#Définition des écouteurs Box2D| Les écouteurs Box2D]] sont également une exception à cette règle.&lt;br /&gt;
&lt;br /&gt;
===Définition des écouteurs Box2D===&lt;br /&gt;
&lt;br /&gt;
Box2D définit certaines classes écouteur. Lorsque vous [[Utilisation de Box2D dans les applications C++Builder|utilisez C++]], vous pouvez créer une sous-classe d&#039;écouteur, créer une instance de votre sous-classe et recenser votre objet écouteur dans un objet Box2D, par exemple un monde ({{Code|b2World}}).&lt;br /&gt;
&lt;br /&gt;
Pour créer un objet écouteur Box2D d&#039;un certain type dans {{Delphi}}, vous devez définir une classe personnalisée qui implémente l&#039;interface de la classe écouteur Box2D cible. L&#039;interface d&#039;une classe écouteur Box2D est nommée comme la classe écouteur Box2D mais est préfixée d&#039;un {{Code|I}} majuscule. Par exemple, {{Code|Ib2ContactListener}} est l&#039;interface de la classe écouteur Box2D {{Code|b2ContactListener}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
TMyContactListener = class (TInterfacedObject, Ib2ContactListener)&lt;br /&gt;
public&lt;br /&gt;
  procedure BeginContact(contact: NativeUInt); cdecl;&lt;br /&gt;
  procedure EndContact(contact: NativeUInt); cdecl;&lt;br /&gt;
  procedure PostSolve(contact: NativeUInt; impulse: Pb2ContactImpulse); cdecl;&lt;br /&gt;
  procedure PreSolve(contact: NativeUInt; oldManifold: Pb2Manifold); cdecl;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois que vous disposez d&#039;une classe qui implémente l&#039;interface écouteur cible, vous devez créer une instance de cette classe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
myContactListener := TMyContactListener.Create;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les accesseurs en écriture d&#039;un écouteur ne peuvent pas gérer votre objet écouteur directement. A la place, vous devez obtenir un délégué (de type &amp;lt;source lang=&amp;quot;delphi&amp;quot; enclose=&amp;quot;none&amp;quot;&amp;gt;NativeUInt&amp;lt;/source&amp;gt;) pour votre objet écouteur et transmettre ce délégué à l&#039;accesseur en écriture de l&#039;écouteur. Utilisez {{Code|Create_{{placeholder|listener class}}_delegate}} pour créer un délégué de votre objet écouteur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
myContactListenerHandle := Create_b2ContactListener_delegate(myContactListener);&lt;br /&gt;
world.SetContactListener(myContactListenerHandle);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir détruit le monde Box2D, vous pouvez détruire votre objet écouteur en transmettant son handle à {{Code|Destroy_{{placeholder|listener class}}_delegate}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
world.Destroy;&lt;br /&gt;
Destroy_b2ContactListener_delegate(myContactListenerHandle);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Déploiement de votre application==&lt;br /&gt;
&lt;br /&gt;
Sur les plates-formes de bureau, vous devez distribuer la bibliothèque dynamique Box2D de {{Product}} en même temps que votre application.&lt;br /&gt;
&lt;br /&gt;
Le fichier de la bibliothèque dynamique Box2D de {{Product}} est disponible dans :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Windows 32 bits :&#039;&#039;&#039; {{Path|{{InstallPath}}\bin\FlatBox2DDyn.dll}}&lt;br /&gt;
* &#039;&#039;&#039;Windows 64 bits :&#039;&#039;&#039; {{Path|{{InstallPath}}\bin64\FlatBox2DDyn.dll}}&lt;br /&gt;
* &#039;&#039;&#039;macOS 32 bits:&#039;&#039;&#039; {{Path|{{InstallPath}}\binosx32\libFlatBox2DDyn.dylib}}&lt;br /&gt;
* &#039;&#039;&#039;macOS 64 bits:&#039;&#039;&#039; {{Path|{{InstallPath}}\binosx64\libFlatBox2DDyn.dylib}}&lt;br /&gt;
&lt;br /&gt;
[[Gestionnaire de déploiement - Ajout de fichiers|Ajoutez ce fichier bibliothèque au Gestionnaire de déploiement]] pour chacune des plates-formes cible prises en charge par votre application. Ainsi, lorsque vous [[Déploiement des applications - Index|déploierez votre application]] pour une plate-forme de bureau, le fichier de bibliothèque dynamique Box2D de {{Product}} sera inclus dans les fichiers déployés de votre application.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Utilisation de Box2D dans les applications C++Builder|Utilisation de Box2D dans les applications {{CBuilder}}]]&lt;br /&gt;
* [http://box2d.org/manual.pdf Manuel C++ (EN)]&lt;br /&gt;
* [http://www.learn-cocos2d.com/api-ref/1.0/Box2D/html/index.html Documentation API C++ (EN)]&lt;br /&gt;
&lt;br /&gt;
===Exemples===&lt;br /&gt;
&lt;br /&gt;
* [[Samp:Box2D Hello World (Delphi)|Box2D Hello World ({{Delphi}})]]&lt;br /&gt;
* Exemple [[samp_en:Box2D.Box2DHello|Box2D Hello]]&lt;br /&gt;
* Exemple [[samp_en:Box2D.TestBed|Box2D TestBed]]&lt;br /&gt;
* Exemple [[samp_en:FMX.SimplePhysics Sample|FMX SimplePhysics]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Tutoriel_mobile_:_D%C3%A9finition_de_votre_environnement_de_d%C3%A9veloppement_sur_un_PC_Windows_(iOS)&amp;diff=213702</id>
		<title>Tutoriel mobile : Définition de votre environnement de développement sur un PC Windows (iOS)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Tutoriel_mobile_:_D%C3%A9finition_de_votre_environnement_de_d%C3%A9veloppement_sur_un_PC_Windows_(iOS)&amp;diff=213702"/>
		<updated>2020-07-30T06:28:20Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Tutoriels mobiles : Développement d&#039;applications mobiles (iOS et Android)}}&lt;br /&gt;
&lt;br /&gt;
Avant de commencer ce tutoriel, il est recommandé de lire et suivre le tutoriel suivant :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)|Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Une application {{FM}} destinée à la plate-forme cible iOS peut être testée initialement sur le &#039;&#039;&#039;simulateur iOS&#039;&#039;&#039; disponible sur le Mac. La deuxième moitié du processus de test consiste à utiliser la plate-forme cible &#039;&#039;&#039;Périphérique iOS&#039;&#039;&#039; et requiert un périphérique iOS test connecté au Mac.&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Sur les périphériques iOS, vous pouvez exécuter à la fois des applications Delphi et C++. Toutefois, le &#039;&#039;&#039;simulateur iOS&#039;&#039;&#039; n&#039;étant pas pris en charge par &#039;&#039;&#039;[[BCCIOSARM.EXE, le compilateur C++ pour le périphérique iOS 32 bits|BCCIOSARM]]&#039;&#039;&#039;, seuls les périphériques iOS sont supportés pour C++.&lt;br /&gt;
&lt;br /&gt;
Pour déployer une application iOS sur votre périphérique iOS ou sur un simulateur iOS à des fins de débogage et de test, {{Product}} utilise &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; ; vous devez [[Installation de Platform Assistant sur un Mac|l&#039;installer]] et [[Exécution de Platform Assistant sur un Mac|l&#039;exécuter]] sur le Mac. Votre environnement de développement matériel et logiciel doit présenter la configuration illustrée à la figure suivante. {{Product}} s&#039;exécute sur un PC sous Windows. Votre PC doit être connecté à un Mac exécutant &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; et équipé des versions appropriées de &#039;&#039;&#039;[[Installation de Xcode sur un Mac|Xcode]]&#039;&#039;&#039; et du SDK iOS (pour le développement iOS). Pour exécuter les apps iOS sur un périphérique iOS, ce dernier doit être connecté au Mac via un câble USB. &lt;br /&gt;
&lt;br /&gt;
[[File:Win2Mac2iOSDevice.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Cette section décrit les étapes de configuration de votre environnement de développement &#039;&#039;&#039;après&#039;&#039;&#039; la configuration de votre environnement sur votre Mac. &lt;br /&gt;
&lt;br /&gt;
==Configuration de votre environnement {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Vous devez exécuter les étapes de configuration suivantes pour préparer le développement iOS avec {{Product}}.&lt;br /&gt;
&lt;br /&gt;
===[[Créer un profil de connexion|Créer un profil de connexion]] pour le Mac===&lt;br /&gt;
&lt;br /&gt;
# Dans l&#039;EDI {{Product}}, ouvrez &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; Déploiement &amp;amp;gt; [[Gestionnaire de profils de connexion|Gestionnaire de profils de connexion]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Ajouter&#039;&#039;&#039; :&lt;br /&gt;
#: [[File:RemoteProfilesPage.png|500px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Vous voyez maintenant l&#039;expert [[Créer un profil de connexion|Créer un profil de connexion]].  Définissez le nom du profil de connexion, par exemple &amp;quot;Mon Mac&amp;quot;.   &amp;lt;br /&amp;gt;Assurez-vous de sélectionner &#039;&#039;&#039;macOS&#039;&#039;&#039; comme plate-forme, puis cliquez sur &#039;&#039;&#039;Next&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
#: [[File:AssignSimulatorProfile.png|500px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Dans la page &#039;&#039;&#039;Informations sur la machine distante&#039;&#039;&#039;, définissez le nom ou l&#039;adresse IP du Mac hôte, le numéro de port à utiliser (le port par défaut 64211 fonctionne en général) et un mot de passe facultatif (si vous souhaitez utiliser un mot de passe). &lt;br /&gt;
#: [[File:Specify name of your mac.png|500px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Tester connexion&#039;&#039;&#039; et assurez-vous que le profil de connexion fonctionne sans erreur (vous devez recevoir le message &#039;&#039;&#039;&amp;quot;La connexion à &amp;amp;lt;nom d&#039;hôte&amp;amp;gt; sur le port &amp;amp;lt;numéro de port&amp;amp;gt; a réussi&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
# Si l&#039;opération &#039;&#039;&#039;Tester connexion&#039;&#039;&#039; réussit, cliquez sur le bouton &#039;&#039;&#039;Terminer&#039;&#039;&#039;, sinon vérifiez les paramètres et essayez à nouveau.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Ajout d&#039;un SDK OS X ou iOS|Ajouter un SDK]] au système de développement pour le périphérique iOS connecté au Mac===&lt;br /&gt;
&lt;br /&gt;
# Ouvrez {{Menu|Options &amp;amp;gt; Options &amp;amp;gt; Options d&#039;environnement &amp;amp;gt; [[Gestionnaire de SDK|Gestionnaire de SDK]]}}.&lt;br /&gt;
#: [[File:SDKManagerConfigs.png|500px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Ajouter&#039;&#039;&#039;.&lt;br /&gt;
# Sur la boîte de dialogue &#039;&#039;&#039;Ajouter un nouveau SDK&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Périphérique iOS 32 bits&#039;&#039;&#039; ou &#039;&#039;&#039;Périphérique iOS 64 bits&#039;&#039;&#039; comme plate-forme.&lt;br /&gt;
#: [[File:SelectSDKProfile.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Une fois la plate-forme sélectionnée, l&#039;EDI remplit un profil (comme &amp;quot;Mon Mac&amp;quot;) et la zone de liste déroulante relative à la version SDK par la liste des versions SDK disponibles sur la machine exécutant le serveur Platform Assistant :&lt;br /&gt;
#: [[File:SelectSDKProfileAndVersion.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;OK&#039;&#039;&#039; pour ajouter le nouveau SDK sélectionné. &lt;br /&gt;
# Une fois l&#039;opération terminée, cliquez sur &#039;&#039;&#039;Fermer&#039;&#039;&#039; pour fermer la boîte de dialogue.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Tutoriel mobile : Création d&#039;une application pour les plates-formes mobiles (iOS et Android)|Tutoriel mobile : Création d&#039;une application pour les plates-formes mobiles (iOS et Android)]]&lt;br /&gt;
* [[Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)|Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)]]&lt;br /&gt;
* [[Travailler avec un Mac et un PC|Travailler avec un Mac et un PC]]&lt;br /&gt;
* [[Exécution de votre application iOS sur un périphérique iOS|Exécution de votre application iOS sur un périphérique iOS]]&lt;br /&gt;
* [[Exécution de votre application iOS sur le simulateur iOS|Exécution de votre application iOS sur le simulateur iOS]]&lt;br /&gt;
* [[Prérequis de plate-forme FireMonkey|Prérequis de plate-forme FireMonkey]]&lt;br /&gt;
* [[Création d&#039;une app iOS|Création d&#039;une app iOS]]&lt;br /&gt;
* [[Développement d&#039;applications OS X|Développement d&#039;applications macOS]]&lt;br /&gt;
* [[Création d&#039;une application FireMonkey|Création d&#039;une application FireMonkey]]&lt;br /&gt;
* Pages Apple developer.apple.com&lt;br /&gt;
** [http://developer.apple.com/library/ios/navigation/ iOS Developer Library (EN)]&lt;br /&gt;
** [http://developer.apple.com/library/ios/navigation/index.html?section=Resource+Types&amp;amp;topic=Getting+Started iOS Developer Library: Getting Started (EN)]&lt;br /&gt;
** [http://developer.apple.com/devcenter/ios/index.action iOS Dev Center (EN)] &lt;br /&gt;
** [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html Lancement de votre app sur des périphériques (EN)]&lt;br /&gt;
** [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html Preparing Your iOS App for Distribution in the App Store (EN)] &lt;br /&gt;
** [http://developer.apple.com/iad/ iAd Network (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:FMX]]&lt;br /&gt;
[[Category:IOS]]&lt;br /&gt;
[[Category:XE4]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Tutoriel_mobile_:_D%C3%A9finition_de_votre_environnement_de_d%C3%A9veloppement_sur_un_PC_Windows_(iOS)&amp;diff=213703</id>
		<title>Tutoriel mobile : Définition de votre environnement de développement sur un PC Windows (iOS)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Tutoriel_mobile_:_D%C3%A9finition_de_votre_environnement_de_d%C3%A9veloppement_sur_un_PC_Windows_(iOS)&amp;diff=213703"/>
		<updated>2020-07-30T06:28:06Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Tutoriels mobiles : Développement d&#039;applications mobiles (iOS et Android)}}&lt;br /&gt;
&lt;br /&gt;
Avant de commencer ce tutoriel, il est recommandé de lire et suivre le tutoriel suivant :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)|Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Une application {{FM}} destinée à la plate-forme cible iOS peut être testée initialement sur le &#039;&#039;&#039;simulateur iOS&#039;&#039;&#039; disponible sur le Mac. La deuxième moitié du processus de test consiste à utiliser la plate-forme cible &#039;&#039;&#039;Périphérique iOS&#039;&#039;&#039; et requiert un périphérique iOS test connecté au Mac.&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Remarque :&#039;&#039;&#039; Sur les périphériques iOS, vous pouvez exécuter à la fois des applications Delphi et C++. Toutefois, le &#039;&#039;&#039;simulateur iOS&#039;&#039;&#039; n&#039;étant pas pris en charge par &#039;&#039;&#039;[[BCCIOSARM.EXE, le compilateur C++ pour le périphérique iOS 32 bits|BCCIOSARM]]&#039;&#039;&#039;, seuls les périphériques iOS sont supportés pour C++.&lt;br /&gt;
&lt;br /&gt;
Pour déployer une application iOS sur votre périphérique iOS ou sur un simulateur iOS à des fins de débogage et de test, {{Product}} utilise &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; ; vous devez [[Installation de Platform Assistant sur un Mac|l&#039;installer]] et [[Exécution de Platform Assistant sur un Mac|l&#039;exécuter]] sur le Mac. Votre environnement de développement matériel et logiciel doit présenter la configuration illustrée à la figure suivante. {{Product}} s&#039;exécute sur un PC sous Windows. Votre PC doit être connecté à un Mac exécutant &#039;&#039;&#039;[[PAServer, l&#039;application serveur Platform Assistant|Platform Assistant]]&#039;&#039;&#039; et équipé des versions appropriées de &#039;&#039;&#039;[[Installation de Xcode sur un Mac|Xcode]]&#039;&#039;&#039; et du SDK iOS (pour le développement iOS). Pour exécuter les apps iOS sur un périphérique iOS, ce dernier doit être connecté au Mac via un câble USB. &lt;br /&gt;
&lt;br /&gt;
[[File:Win2Mac2iOSDevice.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Cette section décrit les étapes de configuration de votre environnement de développement &#039;&#039;&#039;après&#039;&#039;&#039; la configuration de votre environnement sur votre Mac. &lt;br /&gt;
&lt;br /&gt;
==Configuration de votre environnement {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Vous devez exécuter les étapes de configuration suivantes pour préparer le développement iOS avec {{Product}}.&lt;br /&gt;
&lt;br /&gt;
===[[Créer un profil de connexion|Créer un profil de connexion]] pour le Mac===&lt;br /&gt;
&lt;br /&gt;
# Dans l&#039;EDI {{Product}}, ouvrez &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; Déploiement &amp;amp;gt; [[Gestionnaire de profils de connexion|Gestionnaire de profils de connexion]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Ajouter&#039;&#039;&#039; :&lt;br /&gt;
#: [[File:RemoteProfilesPage.png|500px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Vous voyez maintenant l&#039;expert [[Créer un profil de connexion|Créer un profil de connexion]].  Définissez le nom du profil de connexion, par exemple &amp;quot;Mon Mac&amp;quot;.   &amp;lt;br /&amp;gt;Assurez-vous de sélectionner &#039;&#039;&#039;macOS&#039;&#039;&#039; comme plate-forme, puis cliquez sur &#039;&#039;&#039;Next&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
#: [[File:AssignSimulatorProfile.png|500px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Dans la page &#039;&#039;&#039;Informations sur la machine distante&#039;&#039;&#039;, définissez le nom ou l&#039;adresse IP du Mac hôte, le numéro de port à utiliser (le port par défaut 64211 fonctionne en général) et un mot de passe facultatif (si vous souhaitez utiliser un mot de passe). &lt;br /&gt;
#: [[File:Specify name of your mac.png|500px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Tester connexion&#039;&#039;&#039; et assurez-vous que le profil de connexion fonctionne sans erreur (vous devez recevoir le message &#039;&#039;&#039;&amp;quot;La connexion à &amp;amp;lt;nom d&#039;hôte&amp;amp;gt; sur le port &amp;amp;lt;numéro de port&amp;amp;gt; a réussi&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
# Si l&#039;opération &#039;&#039;&#039;Tester connexion&#039;&#039;&#039; réussit, cliquez sur le bouton &#039;&#039;&#039;Terminer&#039;&#039;&#039;, sinon vérifiez les paramètres et essayez à nouveau.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Ajout d&#039;un SDK OS X ou iOS|Ajouter un SDK]] au système de développement pour le périphérique iOS connecté au Mac===&lt;br /&gt;
&lt;br /&gt;
# Ouvrez {{Menu|Options &amp;amp;gt; Options &amp;amp;gt; Options d&#039;environnement &amp;amp;gt; [[Gestionnaire de SDK|Gestionnaire de SDK]]}}.&lt;br /&gt;
#: [[File:SDKManagerConfigs.png|500px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Ajouter&#039;&#039;&#039;.&lt;br /&gt;
# Sur la boîte de dialogue &#039;&#039;&#039;Ajouter un nouveau SDK&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Périphérique iOS 32 bits&#039;&#039;&#039; ou &#039;&#039;&#039;Périphérique iOS 64 bits&#039;&#039;&#039; comme plate-forme.&lt;br /&gt;
#: [[File:SelectSDKProfile.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Une fois la plate-forme sélectionnée, l&#039;EDI remplit un profil (comme &amp;quot;Mon Mac&amp;quot;) et la zone de liste déroulante relative à la version SDK par la liste des versions SDK disponibles sur la machine exécutant le serveur Platform Assistant :&lt;br /&gt;
#: [[File:SelectSDKProfileAndVersion.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;OK&#039;&#039;&#039; pour ajouter le nouveau SDK sélectionné. &lt;br /&gt;
# Une fois l&#039;opération terminée, cliquez sur &#039;&#039;&#039;Fermer&#039;&#039;&#039; pour fermer la boîte de dialogue.&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Tutoriel mobile : Création d&#039;une application pour les plates-formes mobiles (iOS et Android)|Tutoriel mobile : Création d&#039;une application pour les plates-formes mobiles (iOS et Android)]]&lt;br /&gt;
* [[Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)|Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)]]&lt;br /&gt;
* [[Travailler avec un Mac et un PC|Travailler avec un Mac et un PC]]&lt;br /&gt;
* [[Exécution de votre application iOS sur un périphérique iOS|Exécution de votre application iOS sur un périphérique iOS]]&lt;br /&gt;
* [[Exécution de votre application iOS sur le simulateur iOS|Exécution de votre application iOS sur le simulateur iOS]]&lt;br /&gt;
* [[Prérequis de plate-forme FireMonkey|Prérequis de plate-forme FireMonkey]]&lt;br /&gt;
* [[Création d&#039;une app iOS|Création d&#039;une app iOS]]&lt;br /&gt;
* [[Développement d&#039;applications OS X|Développement d&#039;applications macOS]]&lt;br /&gt;
* [[Création d&#039;une application FireMonkey|Création d&#039;une application FireMonkey]]&lt;br /&gt;
* Pages Apple developer.apple.com&lt;br /&gt;
** [http://developer.apple.com/library/ios/navigation/ iOS Developer Library (EN)]&lt;br /&gt;
** [http://developer.apple.com/library/ios/navigation/index.html?section=Resource+Types&amp;amp;topic=Getting+Started iOS Developer Library: Getting Started (EN)]&lt;br /&gt;
** [http://developer.apple.com/devcenter/ios/index.action iOS Dev Center (EN)] &lt;br /&gt;
** [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html Lancement de votre app sur des périphériques (EN)]&lt;br /&gt;
** [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html Preparing Your iOS App for Distribution in the App Store (EN)] &lt;br /&gt;
** [http://developer.apple.com/iad/ iAd Network (EN)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:FMX]]&lt;br /&gt;
[[Category:IOS]]&lt;br /&gt;
[[Category:XE4]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Importation_ou_migration_de_projets_existants_dans_RAD_Studio&amp;diff=213700</id>
		<title>Importation ou migration de projets existants dans RAD Studio</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Importation_ou_migration_de_projets_existants_dans_RAD_Studio&amp;diff=213700"/>
		<updated>2020-07-30T06:10:32Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Considérations pour les applications multi-périphériques}}&lt;br /&gt;
&lt;br /&gt;
==Mise à niveau des projets requise dans certaines instances==&lt;br /&gt;
&lt;br /&gt;
La boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; peut s&#039;afficher si l&#039;EDI détermine que l&#039;ouverture de votre projet existant dans {{Variables|Product}} nécessite des modifications cruciales (par exemple, si le projet existant n&#039;a pas de fichier .dproj ou .cbproj). &lt;br /&gt;
&lt;br /&gt;
Sur la boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039;, vous pouvez choisir exactement ce qui doit se produire à propos du renommage et de la sauvegarde de votre projet existant. Les mêmes choix sont aussi disponibles sur la boîte de dialogue &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; EDI &amp;amp;gt; [[Mise à niveau des projets|Mise à niveau des projets]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
La case à cocher suivante contrôle l&#039;occurrence de la boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Supprimer cette notification et appliquer mon choix à tous les projets convertis&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous sélectionnez cette case à cocher :&lt;br /&gt;
&lt;br /&gt;
* Vos choix actuels sur la boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; seront automatiquement implémentés pour les projets existants que vous ouvrez.&lt;br /&gt;
* La boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; n&#039;apparaîtra pas quand vous ouvrez des projets existants qui nécessitent des modifications cruciales.&lt;br /&gt;
* Vous pouvez toutefois changer vos choix quant au renommage et à la sauvegarde des projets existants en accédant à la boîte de dialogue &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; EDI &amp;amp;gt; [[Mise à niveau des projets|Mise à niveau des projets]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;. Par exemple, après l&#039;activation de la case à cocher &#039;&#039;&#039;Appliquer les paramètres sans invite&#039;&#039;&#039;, la boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; s&#039;affichera de nouveau pour les projets qui nécessitent une mise à niveau.&lt;br /&gt;
&lt;br /&gt;
==Plate-forme cible : macOS, iOS ou Android==&lt;br /&gt;
&lt;br /&gt;
Un projet VCL ne peut pas être assigné à la plate-forme cible &#039;&#039;&#039;macOS&#039;&#039;&#039;, &#039;&#039;&#039;iOS&#039;&#039;&#039; ou &#039;&#039;&#039;Android&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour créer une application multi-périphérique qui s&#039;exécute sur macOS, iOS ou Android, commencez par créer un type d&#039;application compatible, tel que :&lt;br /&gt;
&lt;br /&gt;
* [[Application HD multi-périphérique|Application HD multi-périphérique]]&lt;br /&gt;
* [[Application 3D multi-périphérique|Application 3D multi-périphérique]]&lt;br /&gt;
* [[Application multi-périphérique|Application multi-périphérique]]&lt;br /&gt;
* [[Applications console|Application console]]&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications OS X|Développement d&#039;applications macOS]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Plate-forme cible : Windows 64 bits==&lt;br /&gt;
&lt;br /&gt;
# Ouvrez un projet &#039;&#039;&#039;Win32&#039;&#039;&#039; existant ({{Delphi}} ou {{CBuilder}}) dans {{variables|Product}}.&lt;br /&gt;
# Activez le projet importé pour la plate-forme cible &#039;&#039;&#039;Win64&#039;&#039;&#039; dans le &#039;&#039;&#039;[[Fenêtre Projets|Fenêtre Projets]]&#039;&#039;&#039;.  Pour des détails, voir [[Etapes de la création d&#039;applications multi-périphériques|Etapes de la création d&#039;applications multi-périphériques]].&lt;br /&gt;
&lt;br /&gt;
# Compilez et construisez votre projet.&lt;br /&gt;
&lt;br /&gt;
Si vous utilisez seulement les bibliothèques, les experts, les compilateurs et les composants de {{Variables|Product}}, attendez-vous à quelques problèmes lors de la migration de votre application vers Win64. Toutefois, si votre projet utilise, par exemple, des opérations pointeur ou contient du code assembleur inline, vous devez résoudre quelques problèmes, comme décrit dans [[Conversion des applications Delphi 32 bits en Windows 64 bits|Conversion des applications Delphi 32 bits en Windows 64 bits]].&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications Windows 64 bits|Développement d&#039;applications Windows 64 bits]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications C++ Builder Windows 64 bits|Développement d&#039;applications C++ Builder Windows 64 bits]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Conversion des applications Delphi 32 bits en Windows 64 bits|Conversion des applications Delphi 32 bits en Windows 64 bits]] {{f|vcl|&lt;br /&gt;
* [[Migration des applications VCL vers FireMonkey|Migration des applications VCL vers {{FM}}]] }}&lt;br /&gt;
* [[Mise à niveau des projets|Mise à niveau des projets]]&lt;br /&gt;
* [[Considérations Delphi pour les applications multi-périphériques|Considérations Delphi pour les applications multi-périphériques]]&lt;br /&gt;
* [[Considérations C++ pour les applications multi-périphériques|Considérations C++ pour les applications multi-périphériques]]&lt;br /&gt;
&lt;br /&gt;
[[Category:XE2]]&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Importation_ou_migration_de_projets_existants_dans_RAD_Studio&amp;diff=213701</id>
		<title>Importation ou migration de projets existants dans RAD Studio</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Importation_ou_migration_de_projets_existants_dans_RAD_Studio&amp;diff=213701"/>
		<updated>2020-07-30T06:10:17Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Considérations pour les applications multi-périphériques}}&lt;br /&gt;
&lt;br /&gt;
==Mise à niveau des projets requise dans certaines instances==&lt;br /&gt;
&lt;br /&gt;
La boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; peut s&#039;afficher si l&#039;EDI détermine que l&#039;ouverture de votre projet existant dans {{Variables|Product}} nécessite des modifications cruciales (par exemple, si le projet existant n&#039;a pas de fichier .dproj ou .cbproj). &lt;br /&gt;
&lt;br /&gt;
Sur la boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039;, vous pouvez choisir exactement ce qui doit se produire à propos du renommage et de la sauvegarde de votre projet existant. Les mêmes choix sont aussi disponibles sur la boîte de dialogue &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; EDI &amp;amp;gt; [[Mise à niveau des projets|Mise à niveau des projets]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
La case à cocher suivante contrôle l&#039;occurrence de la boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Supprimer cette notification et appliquer mon choix à tous les projets convertis&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous sélectionnez cette case à cocher :&lt;br /&gt;
&lt;br /&gt;
* Vos choix actuels sur la boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; seront automatiquement implémentés pour les projets existants que vous ouvrez.&lt;br /&gt;
* La boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; n&#039;apparaîtra pas quand vous ouvrez des projets existants qui nécessitent des modifications cruciales.&lt;br /&gt;
* Vous pouvez toutefois changer vos choix quant au renommage et à la sauvegarde des projets existants en accédant à la boîte de dialogue &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Outils &amp;amp;gt; Options &amp;amp;gt; EDI &amp;amp;gt; [[Mise à niveau des projets|Mise à niveau des projets]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;. Par exemple, après l&#039;activation de la case à cocher &#039;&#039;&#039;Appliquer les paramètres sans invite&#039;&#039;&#039;, la boîte de dialogue &#039;&#039;&#039;Mise à niveau des projets requise&#039;&#039;&#039; s&#039;affichera de nouveau pour les projets qui nécessitent une mise à niveau.&lt;br /&gt;
&lt;br /&gt;
==Plate-forme cible : macOS, iOS ou Android==&lt;br /&gt;
&lt;br /&gt;
Un projet VCL ne peut pas être assigné à la plate-forme cible &#039;&#039;&#039;macOS&#039;&#039;&#039;, &#039;&#039;&#039;iOS&#039;&#039;&#039; ou &#039;&#039;&#039;Android&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pour créer une application multi-périphérique qui s&#039;exécute sur macOS, iOS ou Android, commencez par créer un type d&#039;application compatible, tel que :&lt;br /&gt;
&lt;br /&gt;
* [[Application HD multi-périphérique|Application HD multi-périphérique]]&lt;br /&gt;
* [[Application 3D multi-périphérique|Application 3D multi-périphérique]]&lt;br /&gt;
* [[Application multi-périphérique|Application multi-périphérique]]&lt;br /&gt;
* [[Applications console|Application console]]&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications OS X|Développement d&#039;applications macOS]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Plate-forme cible : Windows 64 bits==&lt;br /&gt;
&lt;br /&gt;
# Ouvrez un projet &#039;&#039;&#039;Win32&#039;&#039;&#039; existant ({{Delphi}} ou {{CBuilder}}) dans {{variables|Product}}.&lt;br /&gt;
# Activez le projet importé pour la plate-forme cible &#039;&#039;&#039;Win64&#039;&#039;&#039; dans le &#039;&#039;&#039;[[Fenêtre Projets|Fenêtre Projets]]&#039;&#039;&#039;.  Pour des détails, voir [[Etapes de la création d&#039;applications multi-périphériques|Etapes de la création d&#039;applications multi-périphériques]].&lt;br /&gt;
&lt;br /&gt;
# Compilez et construisez votre projet.&lt;br /&gt;
&lt;br /&gt;
Si vous utilisez seulement les bibliothèques, les experts, les compilateurs et les composants de {{Variables|Product}}, attendez-vous à quelques problèmes lors de la migration de votre application vers Win64. Toutefois, si votre projet utilise, par exemple, des opérations pointeur ou contient du code assembleur inline, vous devez résoudre quelques problèmes, comme décrit dans [[Conversion des applications Delphi 32 bits en Windows 64 bits|Conversion des applications Delphi 32 bits en Windows 64 bits]].&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications Windows 64 bits|Développement d&#039;applications Windows 64 bits]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Développement d&#039;applications C++ Builder Windows 64 bits|Développement d&#039;applications C++ Builder Windows 64 bits]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Conversion des applications Delphi 32 bits en Windows 64 bits|Conversion des applications Delphi 32 bits en Windows 64 bits]] {{f|vcl|&lt;br /&gt;
* [[Migration des applications VCL vers FireMonkey|Migration des applications VCL vers {{FM}}]] }}&lt;br /&gt;
* [[Mise à niveau des projets|Mise à niveau des projets]]&lt;br /&gt;
* [[Considérations Delphi pour les applications multi-périphériques|Considérations Delphi pour les applications multi-périphériques]]&lt;br /&gt;
* [[Considérations C++ pour les applications multi-périphériques|Considérations C++ pour les applications multi-périphériques]]&lt;br /&gt;
&lt;br /&gt;
[[Category:XE2]]&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Gestion_des_erreurs_de_m%C3%A9moire_insuffisante&amp;diff=213698</id>
		<title>Gestion des erreurs de mémoire insuffisante</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Gestion_des_erreurs_de_m%C3%A9moire_insuffisante&amp;diff=213698"/>
		<updated>2020-07-30T02:26:28Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Utilisation de ILINK32 et ILINK64 en ligne de commande}}&lt;br /&gt;
&lt;br /&gt;
Lorsque vous utilisez le lieur [[Détails techniques concernant ILINK32 et ILINK64|ILINK32]] ou [[Détails techniques concernant ILINK32 et ILINK64|ILINK64]] de {{Product}}, vous obtenez le message &#039;&#039;&#039;Fatal: Out of memory&#039;&#039;&#039;.  Pour remédier au problème, vous devez identifier le tas du lieur qui est en manque de mémoire et augmenter sa taille. &lt;br /&gt;
&lt;br /&gt;
Pour augmenter la taille de la mémoire du tas concerné, procédez comme suit : &lt;br /&gt;
&lt;br /&gt;
1. Accédez à {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; EDI &amp;amp;gt; Compilation et exécution}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
2. Pour voir quel tas du lieur est à l&#039;origine du problème, sélectionnez &#039;&#039;&#039;Diagnostic&#039;&#039;&#039; dans le menu &#039;&#039;&#039;Verbosité&#039;&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. Tentez à nouveau d&#039;utiliser le lieur, et Lorsque vous obtenez le message &#039;&#039;&#039;Fatal: Out of memory&#039;&#039;&#039;, cliquez sur l&#039;onglet &#039;&#039;&#039;Sortie&#039;&#039;&#039;. Il contient des informations supplémentaires qui identifient le tas du lieur en dépassement de mémoire.&amp;lt;br /&amp;gt;&lt;br /&gt;
4. Dans l&#039;onglet &#039;&#039;&#039;Sortie&#039;&#039;&#039;, trouvez la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;Overrun on linker heap: &amp;lt;/code&amp;gt;&lt;br /&gt;
:Le tas que vous voyez après l&#039;affichage du message &amp;lt;code&amp;gt;Overrun on linker heap: &amp;lt;/code&amp;gt; est le tas concerné par le dépassement de mémoire.&lt;br /&gt;
:Les valeurs relatives à l&#039;ensemble des tas sont listées sous cette ligne. Reportez-vous à l&#039;exemple [[#Indicateurs de la ligne de commande]] ci-dessous. &lt;br /&gt;
:* Examinez les deux valeurs hexadécimales suivant le nom du tas en dépassement.&lt;br /&gt;
::&lt;br /&gt;
::* La première valeur indique la taille requise par le lieur au moment où il réalise que le tas va être dépassé.&lt;br /&gt;
::* La seconde valeur indique la taille allouée.&lt;br /&gt;
:* Comparez la première et la deuxième valeurs et choisissez une valeur dépassant la première valeur.&lt;br /&gt;
&lt;br /&gt;
[[File:Handling errors.png|450px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
5. Maintenant, vous pouvez augmenter la taille du tas concerné par le dépassement. Pour cela, accédez à {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}, puis dans la section &#039;&#039;&#039;Paramètres du tas du lieur&#039;&#039;&#039;, indiquez la nouvelle taille du tas. &lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
:* Sur la plate-forme Windows 32 bits, cinq tas sont disponibles. Dans la plupart des cas, il vous suffit d&#039;augmenter trois d&#039;entre eux. &#039;&#039;&#039;Taille du tas du code&#039;&#039;&#039;, &#039;&#039;&#039;Taille du tas des données&#039;&#039;&#039; ou &#039;&#039;&#039;Taille du tas Info&#039;&#039;&#039;. Reportez-vous aux valeurs exemple utilisées dans un cas de test signalé :&lt;br /&gt;
::&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas du code&#039;&#039;&#039; : 0x14000000&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas des données&#039;&#039;&#039; : 0x0d000000&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Info&#039;&#039;&#039; : 0x0B000000&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas des données RO&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas TDS&#039;&#039;&#039; : 0&lt;br /&gt;
:* Sur la plate-forme Windows 64 bits, quatorze tas sont disponibles. Dans la plupart des cas, il vous suffit d&#039;augmenter deux d&#039;entre eux. &#039;&#039;&#039;Taille du tas Pubtypes Dwarf&#039;&#039;&#039; ou &#039;&#039;&#039;Taille du tas Aranges Dwarf&#039;&#039;&#039;. Reportez-vous aux valeurs exemple utilisées danss un cas de test signalé :&lt;br /&gt;
::&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas du code&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas des données&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Abbrev Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Aranges Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Info Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Line Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Loc Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Macinfo Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Pubtypes Dwarf&#039;&#039;&#039; : 0x02400000&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Ranges Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Str Dwarf&#039;&#039;&#039; : 0x08000000 &lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Info&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas des données RO&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas TDS&#039;&#039;&#039; : 0&lt;br /&gt;
:[[File:C++Linker.png|1100px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Effectuez une nouvelle tentative de liaison. Si vous obtenez à nouveau le message &#039;&#039;&#039;Fatal: Out of memory&#039;&#039;&#039;, répétez la procédure car vous devrez peut-être augmenter la mémoire d&#039;autres tas.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Remarque&#039;&#039;&#039; : 	Chaque application requiert d&#039;augmenter différents tas et différentes valeurs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Indicateurs de la ligne de commande==&lt;br /&gt;
&lt;br /&gt;
En cas de construction en ligne de commande, le lieur émettra un tableau similaire à celui obtenu dans l&#039;exemple suivant : &lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
Turbo Incremental Link64 6.80 Copyright (c) 1997-2017 Embarcadero Technologies,&lt;br /&gt;
Inc.&lt;br /&gt;
Overrun on linker heap: info&lt;br /&gt;
Linker Heaps&lt;br /&gt;
------------&lt;br /&gt;
info                   0x12271000  0x12000000&lt;br /&gt;
code                   0x0487d000  0x08000000&lt;br /&gt;
rodata                 0x00159000  0x06000000&lt;br /&gt;
data                   0x029bb000  0x08000000&lt;br /&gt;
bss                    0x08000000  0x08000000&lt;br /&gt;
dwarf_aranges          0x00010000  0x00200000&lt;br /&gt;
dwarf_macinfo          0x00010000  0x00200000&lt;br /&gt;
dwarf_pubtypes         0x00275000  0x02000000&lt;br /&gt;
dwarf_info             0x04e57000  0x06000000&lt;br /&gt;
dwarf_abbrev           0x00040000  0x00200000&lt;br /&gt;
dwarf_line             0x0124d000  0x02000000&lt;br /&gt;
dwarf_str              0x036e0000  0x06000000&lt;br /&gt;
dwarf_loc              0x00070000  0x02000000&lt;br /&gt;
dwarf_ranges           0x00275000  0x02000000&lt;br /&gt;
Fatal: Out of memory&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez modifier les tailles de tas utilisées par le lieur via l&#039;indicateur -GH pour les lieurs [[Détails techniques concernant ILINK32 et ILINK64|ilink32]] ou [[Détails techniques concernant ILINK32 et ILINK64|ilink64]].  Utilisez &amp;lt;code&amp;gt;-GH&amp;amp;lt;heapname&amp;amp;gt;=size&amp;lt;/code&amp;gt; pour allouer plusieurs tas ou un tas plus grand. Par exemple, pour lier la version de release de la bibliothèque OWLNext ([http://sourceforge.net/projects/owlnext/ DLL OWLNext library (EN)]), nos développeurs {{CBuilder}} internes utilisent &amp;lt;code&amp;gt;-GHinfo=0x13000000&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Voir aussi===&lt;br /&gt;
&lt;br /&gt;
* [[Utilisation de ILINK32 et ILINK64 en ligne de commande|Utilisation de ILINK32 et ILINK64 en ligne de commande]]&lt;br /&gt;
* [[Détails techniques concernant ILINK32 et ILINK64|Détails techniques concernant ILINK32 et ILINK64]]&lt;br /&gt;
* [[Lieur C++|Lieur C++]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Gestion_des_erreurs_de_m%C3%A9moire_insuffisante&amp;diff=213699</id>
		<title>Gestion des erreurs de mémoire insuffisante</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Gestion_des_erreurs_de_m%C3%A9moire_insuffisante&amp;diff=213699"/>
		<updated>2020-07-30T02:26:15Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Utilisation de ILINK32 et ILINK64 en ligne de commande}}&lt;br /&gt;
&lt;br /&gt;
Lorsque vous utilisez le lieur [[Détails techniques concernant ILINK32 et ILINK64|ILINK32]] ou [[Détails techniques concernant ILINK32 et ILINK64|ILINK64]] de {{Product}}, vous obtenez le message &#039;&#039;&#039;Fatal: Out of memory&#039;&#039;&#039;.  Pour remédier au problème, vous devez identifier le tas du lieur qui est en manque de mémoire et augmenter sa taille. &lt;br /&gt;
&lt;br /&gt;
Pour augmenter la taille de la mémoire du tas concerné, procédez comme suit : &lt;br /&gt;
&lt;br /&gt;
1. Accédez à {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; EDI &amp;amp;gt; Compilation et exécution}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
2. Pour voir quel tas du lieur est à l&#039;origine du problème, sélectionnez &#039;&#039;&#039;Diagnostic&#039;&#039;&#039; dans le menu &#039;&#039;&#039;Verbosité&#039;&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. Tentez à nouveau d&#039;utiliser le lieur, et Lorsque vous obtenez le message &#039;&#039;&#039;Fatal: Out of memory&#039;&#039;&#039;, cliquez sur l&#039;onglet &#039;&#039;&#039;Sortie&#039;&#039;&#039;. Il contient des informations supplémentaires qui identifient le tas du lieur en dépassement de mémoire.&amp;lt;br /&amp;gt;&lt;br /&gt;
4. Dans l&#039;onglet &#039;&#039;&#039;Sortie&#039;&#039;&#039;, trouvez la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;Overrun on linker heap: &amp;lt;/code&amp;gt;&lt;br /&gt;
:Le tas que vous voyez après l&#039;affichage du message &amp;lt;code&amp;gt;Overrun on linker heap: &amp;lt;/code&amp;gt; est le tas concerné par le dépassement de mémoire.&lt;br /&gt;
:Les valeurs relatives à l&#039;ensemble des tas sont listées sous cette ligne. Reportez-vous à l&#039;exemple [[#Indicateurs de la ligne de commande]] ci-dessous. &lt;br /&gt;
:* Examinez les deux valeurs hexadécimales suivant le nom du tas en dépassement.&lt;br /&gt;
::&lt;br /&gt;
::* La première valeur indique la taille requise par le lieur au moment où il réalise que le tas va être dépassé.&lt;br /&gt;
::* La seconde valeur indique la taille allouée.&lt;br /&gt;
:* Comparez la première et la deuxième valeurs et choisissez une valeur dépassant la première valeur.&lt;br /&gt;
&lt;br /&gt;
[[File:Handling errors.png|450px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
5. Maintenant, vous pouvez augmenter la taille du tas concerné par le dépassement. Pour cela, accédez à {{Menu|Projet &amp;amp;gt; Options &amp;amp;gt; Lieur C++}}, puis dans la section &#039;&#039;&#039;Paramètres du tas du lieur&#039;&#039;&#039;, indiquez la nouvelle taille du tas. &lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
:* Sur la plate-forme Windows 32 bits, cinq tas sont disponibles. Dans la plupart des cas, il vous suffit d&#039;augmenter trois d&#039;entre eux. &#039;&#039;&#039;Taille du tas du code&#039;&#039;&#039;, &#039;&#039;&#039;Taille du tas des données&#039;&#039;&#039; ou &#039;&#039;&#039;Taille du tas Info&#039;&#039;&#039;. Reportez-vous aux valeurs exemple utilisées dans un cas de test signalé :&lt;br /&gt;
::&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas du code&#039;&#039;&#039; : 0x14000000&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas des données&#039;&#039;&#039; : 0x0d000000&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Info&#039;&#039;&#039; : 0x0B000000&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas des données RO&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas TDS&#039;&#039;&#039; : 0&lt;br /&gt;
:* Sur la plate-forme Windows 64 bits, quatorze tas sont disponibles. Dans la plupart des cas, il vous suffit d&#039;augmenter deux d&#039;entre eux. &#039;&#039;&#039;Taille du tas Pubtypes Dwarf&#039;&#039;&#039; ou &#039;&#039;&#039;Taille du tas Aranges Dwarf&#039;&#039;&#039;. Reportez-vous aux valeurs exemple utilisées danss un cas de test signalé :&lt;br /&gt;
::&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas du code&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas des données&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Abbrev Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Aranges Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Info Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Line Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Loc Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Macinfo Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Pubtypes Dwarf&#039;&#039;&#039; : 0x02400000&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Ranges Dwarf&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Str Dwarf&#039;&#039;&#039; : 0x08000000 &lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas Info&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas des données RO&#039;&#039;&#039; : 0&lt;br /&gt;
::* &#039;&#039;&#039;Taille du tas TDS&#039;&#039;&#039; : 0&lt;br /&gt;
:[[File:C++Linker.png|1100px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Effectuez une nouvelle tentative de liaison. Si vous obtenez à nouveau le message &#039;&#039;&#039;Fatal: Out of memory&#039;&#039;&#039;, répétez la procédure car vous devrez peut-être augmenter la mémoire d&#039;autres tas.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Remarque&#039;&#039;&#039; : 	Chaque application requiert d&#039;augmenter différents tas et différentes valeurs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Indicateurs de la ligne de commande==&lt;br /&gt;
&lt;br /&gt;
En cas de construction en ligne de commande, le lieur émettra un tableau similaire à celui obtenu dans l&#039;exemple suivant : &lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
Turbo Incremental Link64 6.80 Copyright (c) 1997-2017 Embarcadero Technologies,&lt;br /&gt;
Inc.&lt;br /&gt;
Overrun on linker heap: info&lt;br /&gt;
Linker Heaps&lt;br /&gt;
------------&lt;br /&gt;
info                   0x12271000  0x12000000&lt;br /&gt;
code                   0x0487d000  0x08000000&lt;br /&gt;
rodata                 0x00159000  0x06000000&lt;br /&gt;
data                   0x029bb000  0x08000000&lt;br /&gt;
bss                    0x08000000  0x08000000&lt;br /&gt;
dwarf_aranges          0x00010000  0x00200000&lt;br /&gt;
dwarf_macinfo          0x00010000  0x00200000&lt;br /&gt;
dwarf_pubtypes         0x00275000  0x02000000&lt;br /&gt;
dwarf_info             0x04e57000  0x06000000&lt;br /&gt;
dwarf_abbrev           0x00040000  0x00200000&lt;br /&gt;
dwarf_line             0x0124d000  0x02000000&lt;br /&gt;
dwarf_str              0x036e0000  0x06000000&lt;br /&gt;
dwarf_loc              0x00070000  0x02000000&lt;br /&gt;
dwarf_ranges           0x00275000  0x02000000&lt;br /&gt;
Fatal: Out of memory&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez modifier les tailles de tas utilisées par le lieur via l&#039;indicateur -GH pour les lieurs [[Détails techniques concernant ILINK32 et ILINK64|ilink32]] ou [[Détails techniques concernant ILINK32 et ILINK64|ilink64]].  Utilisez &amp;lt;code&amp;gt;-GH&amp;amp;lt;heapname&amp;amp;gt;=size&amp;lt;/code&amp;gt; pour allouer plusieurs tas ou un tas plus grand. Par exemple, pour lier la version de release de la bibliothèque OWLNext ([http://sourceforge.net/projects/owlnext/ DLL OWLNext library (EN)]), nos développeurs {{CBuilder}} internes utilisent &amp;lt;code&amp;gt;-GHinfo=0x13000000&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Voir aussi===&lt;br /&gt;
&lt;br /&gt;
* [[Utilisation de ILINK32 et ILINK64 en ligne de commande|Utilisation de ILINK32 et ILINK64 en ligne de commande]]&lt;br /&gt;
* [[Détails techniques concernant ILINK32 et ILINK64|Détails techniques concernant ILINK32 et ILINK64]]&lt;br /&gt;
* [[Lieur C++|Lieur C++]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Fen%C3%AAtre_Param%C3%A8tres_du_p%C3%A9riph%C3%A9rique&amp;diff=213685</id>
		<title>Fenêtre Paramètres du périphérique</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Fen%C3%AAtre_Param%C3%A8tres_du_p%C3%A9riph%C3%A9rique&amp;diff=213685"/>
		<updated>2020-07-29T12:04:26Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Gestionnaire de périphériques}}&lt;br /&gt;
&lt;br /&gt;
[[Image:MobileDeviceDesigner.png|thumb|300px]]&lt;br /&gt;
&lt;br /&gt;
{{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Interface utilisateur &amp;amp;gt; Concepteur de fiches &amp;amp;gt; Gestionnaire de périphériques}} | Cliquez sur &#039;&#039;&#039;Ajouter&#039;&#039;&#039; ou &#039;&#039;&#039;Modifier&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Cette boîte de dialogue vous permet de définir ou de modifier un périphérique prédéfini pouvant être ensuite utilisé dans la fenêtre [[Aperçu multi-périphérique|Aperçu multi-périphérique]]. Par ailleurs, si vous installez le [[Ajout d&#039;une vue personnalisée au sélecteur de vue#Créer un nouveau package|package approprié pour ce périphérique]], vous pouvez également le voir dans le [[Concepteur de fiches#Sélecteur de vue|sélecteur de vue]] et l&#039;utiliser en tant que [[Utilisation des vues FireMonkey|vue {{FM}}]].&lt;br /&gt;
&lt;br /&gt;
La fenêtre &#039;&#039;&#039;Paramètres du périphérique&#039;&#039;&#039; fournit les éléments suivants.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nom du périphérique&lt;br /&gt;
| Le nom d&#039;affichage du périphérique prédéfini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Product}}&#039;&#039;&#039; affiche ce nom sur le [[Gestionnaire de périphériques|Gestionnaire de périphériques]], [[Aperçu multi-périphérique|l&#039;Aperçu multi-périphérique]] et le [[Concepteur de fiches#Sélecteur de vue|sélecteur de vue]] (si le [[Ajout d&#039;une vue personnalisée au sélecteur de vue#Créer un nouveau package|package approprié]] est installé).&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Plate-forme&lt;br /&gt;
|La plate-forme sur laquelle le périphérique prédéfini est censé s&#039;exécuter. Vous pouvez choisir l&#039;une des valeurs suivantes :&lt;br /&gt;
* &#039;&#039;&#039;Windows&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;macOS&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;iOS&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Android&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Facteur de forme&lt;br /&gt;
| Le format du périphérique prédéfini. Vous pouvez choisir l&#039;une des valeurs suivantes :&lt;br /&gt;
* &#039;&#039;&#039;Bureau&#039;&#039;&#039;. Lors de la sélection du facteur de forme &#039;&#039;&#039;Bureau&#039;&#039;&#039;, les informations d&#039;orientation sont désactivées car il est inutile de configurer l&#039;orientation pour ce format particulier.&lt;br /&gt;
* &#039;&#039;&#039;Téléphone&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Tablette&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Lecteur multimédia&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Automobile&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Industriel&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Incorporé&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Montre&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Lunettes&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Portrait&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
180 degrés&amp;lt;br /&amp;gt;&lt;br /&gt;
Paysage aligné à gauche&amp;lt;br /&amp;gt;&lt;br /&gt;
Paysage aligné à droite&lt;br /&gt;
| Vous pouvez utiliser les onglets de la fenêtre &#039;&#039;&#039;Paramètres du périphérique&#039;&#039;&#039; pour définir les orientations prises en charge par le périphérique prédéfini, ainsi que l&#039;aspect du périphérique prédéfini dans chacune de ces orientations.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Activer l&#039;orientation&lt;br /&gt;
| Cochez cette option pour activer, dans le périphérique prédéfini en cours, l&#039;orientation de l&#039;onglet sélectionné (Portrait, 180 degrés, Paysage aligné à gauche, Paysage aligné à droite).&lt;br /&gt;
&lt;br /&gt;
Quand vous activez une orientation, &#039;&#039;&#039;{{Product}}&#039;&#039;&#039; ajoute cette orientation à la liste des orientations supportées du périphérique prédéfini en cours. Lorsque vous sélectionnez le périphérique en cours dans le [[Concepteur de fiches#Sélecteur de vue|sélecteur de vue]] (si le [[Ajout d&#039;une vue personnalisée au sélecteur de vue#Créer un nouveau package|package approprié]] est installé), vous pouvez cliquer sur le bouton [[File:RotateCurrentView.png]] [[Concepteur de fiches#Sélecteur de vue|Rotation]] pour accéder aux orientations prises en charge.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Arrière-plan du périphérique&lt;br /&gt;
|Le chemin de l&#039;image à utiliser comme arrière-plan dans le &#039;&#039;&#039;[[Concepteur de fiches|Concepteur de fiches]]&#039;&#039;&#039; et dans &#039;&#039;&#039;[[Aperçu multi-périphérique|l&#039;Aperçu multi-périphérique]]&#039;&#039;&#039;  quand le périphérique prédéfini en cours est sélectionné.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Coin supérieur gauche de l&#039;écran&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gauche&lt;br /&gt;
| Le nombre de pixels à partir de la gauche de l&#039;image d&#039;arrière-plan avant que l&#039;écran réel ne démarre.&lt;br /&gt;
&lt;br /&gt;
Pour modifier cette valeur visuellement, faites glisser la poignée supérieure gauche ou la poignée inférieure gauche se trouvant sur l&#039;aperçu de l&#039;image d&#039;arrière-plan.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Haut&lt;br /&gt;
| Le nombre de pixels à partir du haut de l&#039;image d&#039;arrière-plan avant que l&#039;écran réel ne démarre.&lt;br /&gt;
&lt;br /&gt;
Pour modifier cette valeur visuellement, faites glisser la poignée supérieure gauche ou la poignée supérieure droite se trouvant sur l&#039;aperçu de l&#039;image d&#039;arrière-plan.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Taille de l&#039;écran&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Largeur&lt;br /&gt;
| La largeur, en pixels, de l&#039;écran du périphérique prédéfini.&lt;br /&gt;
&lt;br /&gt;
Pour modifier cette valeur visuellement, faites glisser la poignée supérieure droite ou la poignée inférieure droite se trouvant sur l&#039;aperçu de l&#039;image d&#039;arrière-plan.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Hauteur&lt;br /&gt;
| La hauteur, en pixels, de l&#039;écran du périphérique prédéfini.&lt;br /&gt;
&lt;br /&gt;
Pour modifier cette valeur visuellement, faites glisser la poignée inférieure gauche ou la poignée inférieure droite se trouvant sur l&#039;aperçu de l&#039;image d&#039;arrière-plan.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Barre d&#039;état&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Taille&lt;br /&gt;
| La taille (largeur ou hauteur) de la barre d&#039;état, située dans l&#039;écran du périphérique prédéfini.&lt;br /&gt;
&lt;br /&gt;
Si la &#039;&#039;&#039;position&#039;&#039;&#039; est définie sur Haut ou Bas, &#039;&#039;&#039;Taille&#039;&#039;&#039; correspond à la hauteur de la barre d&#039;état. &lt;br /&gt;
&lt;br /&gt;
Si la &#039;&#039;&#039;position&#039;&#039;&#039; est définie sur Gauche ou Droite, &#039;&#039;&#039;Taille&#039;&#039;&#039; correspond à la largeur de la barre d&#039;état.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Position&lt;br /&gt;
|La position sur l&#039;écran où est située la barre d&#039;état.&lt;br /&gt;
&lt;br /&gt;
Ce paramètre peut avoir l&#039;une des valeurs suivantes :&lt;br /&gt;
* &#039;&#039;&#039;Haut&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Bas&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Gauche&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Droite&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Image d&#039;aperçu&lt;br /&gt;
|Utiliser l&#039;image d&#039;aperçu du périphérique prédéfini pour modifier visuellement les mesures &#039;&#039;&#039;Gauche&#039;&#039;&#039; et &#039;&#039;&#039;Haut&#039;&#039;&#039; de l&#039;écran, ainsi que la taille de la barre d&#039;état.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Zoom&lt;br /&gt;
|Permet de changer le zoom de l&#039;image d&#039;aperçu.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Zoom automatique&lt;br /&gt;
| Lorsque l&#039;option &#039;&#039;&#039;Zoom automatique&#039;&#039;&#039; est activée, l&#039;image est automatiquement agrandie lorsque vous faites glisser les poignées pour définir visuellement les mesures de l&#039;écran et de la barre d&#039;état.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Ajout d&#039;un périphérique prédéfini|Ajout d&#039;un périphérique prédéfini]]&lt;br /&gt;
* [[Modification d&#039;un périphérique prédéfini|Modification d&#039;un périphérique prédéfini]]&lt;br /&gt;
* [[Suppression d&#039;un périphérique prédéfini|Suppression d&#039;un périphérique prédéfini]]&lt;br /&gt;
* [[Gestionnaire de périphériques#DevicePresets.xml|DevicePresets.xml]]&lt;br /&gt;
* [[Concepteur de fiches|Concepteur de fiches]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:XE8]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Fen%C3%AAtre_Param%C3%A8tres_du_p%C3%A9riph%C3%A9rique&amp;diff=213686</id>
		<title>Fenêtre Paramètres du périphérique</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Fen%C3%AAtre_Param%C3%A8tres_du_p%C3%A9riph%C3%A9rique&amp;diff=213686"/>
		<updated>2020-07-29T12:04:12Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Gestionnaire de périphériques}}&lt;br /&gt;
&lt;br /&gt;
[[Image:MobileDeviceDesigner.png|thumb|300px]]&lt;br /&gt;
&lt;br /&gt;
{{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; Interface utilisateur &amp;amp;gt; Concepteur de fiches &amp;amp;gt; Gestionnaire de périphériques}} | Cliquez sur &#039;&#039;&#039;Ajouter&#039;&#039;&#039; ou &#039;&#039;&#039;Modifier&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Cette boîte de dialogue vous permet de définir ou de modifier un périphérique prédéfini pouvant être ensuite utilisé dans la fenêtre [[Aperçu multi-périphérique|Aperçu multi-périphérique]]. Par ailleurs, si vous installez le [[Ajout d&#039;une vue personnalisée au sélecteur de vue#Créer un nouveau package|package approprié pour ce périphérique]], vous pouvez également le voir dans le [[Concepteur de fiches#Sélecteur de vue|sélecteur de vue]] et l&#039;utiliser en tant que [[Utilisation des vues FireMonkey|vue {{FM}}]].&lt;br /&gt;
&lt;br /&gt;
La fenêtre &#039;&#039;&#039;Paramètres du périphérique&#039;&#039;&#039; fournit les éléments suivants.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nom du périphérique&lt;br /&gt;
| Le nom d&#039;affichage du périphérique prédéfini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Product}}&#039;&#039;&#039; affiche ce nom sur le [[Gestionnaire de périphériques|Gestionnaire de périphériques]], [[Aperçu multi-périphérique|l&#039;Aperçu multi-périphérique]] et le [[Concepteur de fiches#Sélecteur de vue|sélecteur de vue]] (si le [[Ajout d&#039;une vue personnalisée au sélecteur de vue#Créer un nouveau package|package approprié]] est installé).&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Plate-forme&lt;br /&gt;
|La plate-forme sur laquelle le périphérique prédéfini est censé s&#039;exécuter. Vous pouvez choisir l&#039;une des valeurs suivantes :&lt;br /&gt;
* &#039;&#039;&#039;Windows&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;macOS&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;iOS&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Android&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Facteur de forme&lt;br /&gt;
| Le format du périphérique prédéfini. Vous pouvez choisir l&#039;une des valeurs suivantes :&lt;br /&gt;
* &#039;&#039;&#039;Bureau&#039;&#039;&#039;. Lors de la sélection du facteur de forme &#039;&#039;&#039;Bureau&#039;&#039;&#039;, les informations d&#039;orientation sont désactivées car il est inutile de configurer l&#039;orientation pour ce format particulier.&lt;br /&gt;
* &#039;&#039;&#039;Téléphone&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Tablette&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Lecteur multimédia&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Automobile&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Industriel&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Incorporé&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Montre&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Lunettes&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Portrait&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
180 degrés&amp;lt;br /&amp;gt;&lt;br /&gt;
Paysage aligné à gauche&amp;lt;br /&amp;gt;&lt;br /&gt;
Paysage aligné à droite&lt;br /&gt;
| Vous pouvez utiliser les onglets de la fenêtre &#039;&#039;&#039;Paramètres du périphérique&#039;&#039;&#039; pour définir les orientations prises en charge par le périphérique prédéfini, ainsi que l&#039;aspect du périphérique prédéfini dans chacune de ces orientations.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Elément&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Activer l&#039;orientation&lt;br /&gt;
| Cochez cette option pour activer, dans le périphérique prédéfini en cours, l&#039;orientation de l&#039;onglet sélectionné (Portrait, 180 degrés, Paysage aligné à gauche, Paysage aligné à droite).&lt;br /&gt;
&lt;br /&gt;
Quand vous activez une orientation, &#039;&#039;&#039;{{Product}}&#039;&#039;&#039; ajoute cette orientation à la liste des orientations supportées du périphérique prédéfini en cours. Lorsque vous sélectionnez le périphérique en cours dans le [[Concepteur de fiches#Sélecteur de vue|sélecteur de vue]] (si le [[Ajout d&#039;une vue personnalisée au sélecteur de vue#Créer un nouveau package|package approprié]] est installé), vous pouvez cliquer sur le bouton [[File:RotateCurrentView.png]] [[Concepteur de fiches#Sélecteur de vue|Rotation]] pour accéder aux orientations prises en charge.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Arrière-plan du périphérique&lt;br /&gt;
|Le chemin de l&#039;image à utiliser comme arrière-plan dans le &#039;&#039;&#039;[[Concepteur de fiches|Concepteur de fiches]]&#039;&#039;&#039; et dans &#039;&#039;&#039;[[Aperçu multi-périphérique|l&#039;Aperçu multi-périphérique]]&#039;&#039;&#039;  quand le périphérique prédéfini en cours est sélectionné.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Coin supérieur gauche de l&#039;écran&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gauche&lt;br /&gt;
| Le nombre de pixels à partir de la gauche de l&#039;image d&#039;arrière-plan avant que l&#039;écran réel ne démarre.&lt;br /&gt;
&lt;br /&gt;
Pour modifier cette valeur visuellement, faites glisser la poignée supérieure gauche ou la poignée inférieure gauche se trouvant sur l&#039;aperçu de l&#039;image d&#039;arrière-plan.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Haut&lt;br /&gt;
| Le nombre de pixels à partir du haut de l&#039;image d&#039;arrière-plan avant que l&#039;écran réel ne démarre.&lt;br /&gt;
&lt;br /&gt;
Pour modifier cette valeur visuellement, faites glisser la poignée supérieure gauche ou la poignée supérieure droite se trouvant sur l&#039;aperçu de l&#039;image d&#039;arrière-plan.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Taille de l&#039;écran&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Largeur&lt;br /&gt;
| La largeur, en pixels, de l&#039;écran du périphérique prédéfini.&lt;br /&gt;
&lt;br /&gt;
Pour modifier cette valeur visuellement, faites glisser la poignée supérieure droite ou la poignée inférieure droite se trouvant sur l&#039;aperçu de l&#039;image d&#039;arrière-plan.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Hauteur&lt;br /&gt;
| La hauteur, en pixels, de l&#039;écran du périphérique prédéfini.&lt;br /&gt;
&lt;br /&gt;
Pour modifier cette valeur visuellement, faites glisser la poignée inférieure gauche ou la poignée inférieure droite se trouvant sur l&#039;aperçu de l&#039;image d&#039;arrière-plan.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Barre d&#039;état&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Taille&lt;br /&gt;
| La taille (largeur ou hauteur) de la barre d&#039;état, située dans l&#039;écran du périphérique prédéfini.&lt;br /&gt;
&lt;br /&gt;
Si la &#039;&#039;&#039;position&#039;&#039;&#039; est définie sur Haut ou Bas, &#039;&#039;&#039;Taille&#039;&#039;&#039; correspond à la hauteur de la barre d&#039;état. &lt;br /&gt;
&lt;br /&gt;
Si la &#039;&#039;&#039;position&#039;&#039;&#039; est définie sur Gauche ou Droite, &#039;&#039;&#039;Taille&#039;&#039;&#039; correspond à la largeur de la barre d&#039;état.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Position&lt;br /&gt;
|La position sur l&#039;écran où est située la barre d&#039;état.&lt;br /&gt;
&lt;br /&gt;
Ce paramètre peut avoir l&#039;une des valeurs suivantes :&lt;br /&gt;
* &#039;&#039;&#039;Haut&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Bas&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Gauche&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Droite&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Image d&#039;aperçu&lt;br /&gt;
|Utiliser l&#039;image d&#039;aperçu du périphérique prédéfini pour modifier visuellement les mesures &#039;&#039;&#039;Gauche&#039;&#039;&#039; et &#039;&#039;&#039;Haut&#039;&#039;&#039; de l&#039;écran, ainsi que la taille de la barre d&#039;état.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Zoom&lt;br /&gt;
|Permet de changer le zoom de l&#039;image d&#039;aperçu.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Zoom automatique&lt;br /&gt;
| Lorsque l&#039;option &#039;&#039;&#039;Zoom automatique&#039;&#039;&#039; est activée, l&#039;image est automatiquement agrandie lorsque vous faites glisser les poignées pour définir visuellement les mesures de l&#039;écran et de la barre d&#039;état.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Ajout d&#039;un périphérique prédéfini|Ajout d&#039;un périphérique prédéfini]]&lt;br /&gt;
* [[Modification d&#039;un périphérique prédéfini|Modification d&#039;un périphérique prédéfini]]&lt;br /&gt;
* [[Suppression d&#039;un périphérique prédéfini|Suppression d&#039;un périphérique prédéfini]]&lt;br /&gt;
* [[Gestionnaire de périphériques#DevicePresets.xml|DevicePresets.xml]]&lt;br /&gt;
* [[Concepteur de fiches|Concepteur de fiches]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:XE8]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Extraits_de_code_mobile&amp;diff=213683</id>
		<title>Extraits de code mobile</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Extraits_de_code_mobile&amp;diff=213683"/>
		<updated>2020-07-29T11:07:50Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications mobiles iOS}}&lt;br /&gt;
{{Parent|Développement d&#039;applications mobiles Android}}&lt;br /&gt;
__TOC__&lt;br /&gt;
[[Image:CodeSnippetsKH.png|thumbnail|300px|right|Extraits de code mobile sur la page d&#039;accueil]]&lt;br /&gt;
Les &#039;&#039;&#039;extraits de code mobile&#039;&#039;&#039; sont des exemples de code courts ; ils vous aident à comprendre comment implémenter les fonctionnalités mobiles de base en utilisant {{Product}}. Tous les extraits de code mobile sont listés [[#Liste des extraits de code mobile|ici]], et certains figurent sur la page d&#039;accueil et la page d&#039;introduction de {{Product}}, comme suit :&lt;br /&gt;
&lt;br /&gt;
* La [[Page d&#039;accueil|page d&#039;accueil]] de &#039;&#039;&#039;{{Variables|Product}}&#039;&#039;&#039; est disponible dans le produit. Elle fournit :&lt;br /&gt;
** Des liens vers certains &#039;&#039;&#039;extraits de code mobile&#039;&#039;&#039; et de courtes vidéos illustrant les extraits&lt;br /&gt;
** Des liens pour démarrer les projets associés avec les &#039;&#039;&#039;extraits de code mobile&#039;&#039;&#039;&lt;br /&gt;
*** Les exemples installés contiennent un répertoire spécifique pour les extraits, typiquement dans {{SamplesPath}}&lt;br /&gt;
* La &#039;&#039;&#039;[http://www.embarcadero.com/starthere/xe7/index.html page d&#039;introduction pour {{Product}}]&#039;&#039;&#039; est disponible depuis la page d&#039;accueil.  Elle fournit :&lt;br /&gt;
** L&#039;URL du référentiel de code SourceForge pour certains extraits de code&lt;br /&gt;
** De courtes vidéos et des liens vers les tutoriels mobiles et les exemples associés (démos).&lt;br /&gt;
&lt;br /&gt;
==Emplacement installé des projets Extraits de code mobile==&lt;br /&gt;
&lt;br /&gt;
Les &#039;&#039;&#039;extraits de code mobile&#039;&#039;&#039; sont livrés dans les dossiers suivants de l&#039;installation de votre produit (par langage) :&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{Path|{{DelphiSamplesPath}}\Mobile Snippets}}&lt;br /&gt;
* {{Path|{{CppSamplesPath}}\Mobile Snippets}}&lt;br /&gt;
&lt;br /&gt;
Chaque dossier d&#039;extraits contient les fichiers pour un ou plusieurs projets {{Variables|Product}} : c&#039;est-à-dire les fichiers projet, le code source, les fichiers fiche et un fichier &#039;&#039;&#039;Information.txt&#039;&#039;&#039; (un fichier readme) pour chaque projet d&#039;extrait de code (par exemple, le projet Accelerometer).&lt;br /&gt;
&lt;br /&gt;
===Pour naviguer rapidement jusqu&#039;aux extraits de code mobile===&lt;br /&gt;
&lt;br /&gt;
#Sélectionnez ‎{{SamplesMenu}}.&lt;br /&gt;
#Ouvrez le dossier du langage que vous utilisez (c&#039;est-à-dire, {{Delphi}} ou {{CBuilder}}).&lt;br /&gt;
# Ouvrez le dossier &#039;&#039;&#039;Mobile Snippets&#039;&#039;&#039; :&lt;br /&gt;
#* &#039;&#039;&#039;{{DelphiSamplesPath}}\Mobile Snippets&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;{{CppSamplesPath}}\Mobile Snippets&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Téléchargement du dernier code source==&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver des exemples de code Delphi et C ++ dans {{CodeSamplesRepositories}}.  Recherchez par nom dans les référentiels d&#039;exemples en fonction de votre version de RAD Studio.&lt;br /&gt;
&lt;br /&gt;
==Liste des extraits de code mobile==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Extrait de code&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Vous montre comment ...&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Accelerometer&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le détecteur [[lib_fr:System.Sensors.Components.TMotionSensor|Accelerometer]] pour obtenir des informations sur l&#039;accélération de périphérique, l&#039;accélération angulaire, le mouvement et la vitesse.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;AccessCameraApp&#039;&#039;&#039;&lt;br /&gt;
| Utiliser les [[Actions FireMonkey|actions standard]] pour ouvrir l&#039;application Appareil photo sur votre périphérique mobile, prendre une photo et récupérer la photo prise pour l&#039;afficher sur votre fiche multi-périphérique.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;AudioRecPlay&#039;&#039;&#039;&lt;br /&gt;
| Enregistrer des [[Audio-vidéo dans FireMonkey|données audio (son)]] en utilisant le microphone du périphérique, puis lire ces données audio en utilisant le haut-parleur ou les écouteurs du périphérique.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CameraComponent&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
| Manipuler la [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|caméra (appareil photo) sur votre périphérique mobile]], puis sélectionner la caméra avant ou arrière. Vous pouvez également sélectionner le mode d&#039;utilisation du flash (toujours activé, automatique ou désactivé).&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;CameraRoll&#039;&#039;&#039;&lt;br /&gt;
| Utiliser les [[Actions FireMonkey|actions standard]] pour ouvrir la bibliothèque de photos de votre périphérique mobile et y récupérer une image pour l&#039;afficher sur votre fiche multi-périphérique.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;CustomPicker&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:FMX.ListBox.TComboBox|TComboBox]] pour sélectionner un composant dans la zone de liste déroulante et afficher le texte de l&#039;élément sur un libellé.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation de composants Zone de liste déroulante pour sélectionner des éléments dans une liste (iOS et Android)|Tutoriel mobile : Utilisation de composants Zone de liste déroulante pour sélectionner des éléments dans une liste (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;DatePicker&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:FMX.DateTimeCtrls.TDateEdit|TDateEdit]] pour sélectionner des dates et les traiter afin de les utiliser dans vos applications {{FM}}.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation d&#039;un composant Calendrier pour sélectionner une date (iOS et Android)|Tutoriel mobile : Utilisation d&#039;un composant Calendrier pour sélectionner une date (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;DeviceInfo&#039;&#039;&#039;&lt;br /&gt;
| Obtenir des informations sur le périphérique, notamment la version du système d&#039;exploitation, le nom du système d&#039;exploitation et le type de périphérique.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;FireDAC_IBLite&#039;&#039;&#039;&lt;br /&gt;
|Remplir une vue liste depuis une base de données [[InterBase ToGo|IBLite]] en utilisant [[FireDAC|FireDAC]] et [[LiveBindings dans RAD Studio|LiveBindings]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;FireDACSQLite&#039;&#039;&#039;&lt;br /&gt;
| Remplir une zone de liste depuis une base de données [[Utilisation de SQLite avec FireDAC|SQLite]] en utilisant [[FireDAC|FireDAC]] et [[LiveBindings dans RAD Studio|LiveBindings]].&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation de FireDAC et SQLite (iOS et Android)|Tutoriel mobile : Utilisation de FireDAC et SQLite (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Gyroscope&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:System.Sensors.TCustomOrientationSensor|Gyroscope]] pour faire pivoter un cube 3D lorsque le périphérique mobile est incliné.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;HorizontalScroll&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:FMX.Layouts.THorzScrollBox|THorzScrollBox]] pour faire défiler deux images identiques.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;IBLite&#039;&#039;&#039;&lt;br /&gt;
| Remplir une vue liste depuis une [[InterBase ToGo|base de données IBLite]] en utilisant LiveBindings.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation de InterBase ToGo avec dbExpress (iOS et Android)|Tutoriel mobile : Utilisation de InterBase ToGo avec dbExpress (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;InteractiveGestures&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ImageRotation&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ImageZoom&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;TapAndHold&#039;&#039;&#039;&lt;br /&gt;
| Trois extraits de code distincts qui illustrent comment :&lt;br /&gt;
* Activer la rotation d&#039;une image sur un périphérique mobile.&lt;br /&gt;
* Activer le zoom avant/arrière d&#039;une image sur un périphérique mobile.&lt;br /&gt;
* Activer le mouvement Appuyer de façon prolongée (Appuyer et maintenir) sur un périphérique mobile.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:System.Sensors.Components.TLocationSensor|TLocationSensor]] pour lire la localisation GPS du périphérique et l&#039;afficher en temps réel sur la fiche. L&#039;extrait de code vous montre également comment utiliser Google Maps pour localiser précisément l&#039;emplacement du périphérique sur une carte réelle.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation de détecteurs d&#039;emplacement (iOS et Android)|Tutoriel mobile : Utilisation de détecteurs d&#039;emplacement (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;MessageAlerts&#039;&#039;&#039;&lt;br /&gt;
| Faire apparaître différents messages d&#039;alerte, utilisant un style de zone d&#039;information standard à un bouton ou des styles de zone de texte à plusieurs boutons permettant différentes confirmations.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Notifications&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;SendCancelNotification&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;SetResetBadgeNumber (iOS seulement)&#039;&#039;&#039;&lt;br /&gt;
| Deux extraits de code distincts qui illustrent comment :&lt;br /&gt;
* Utiliser [[lib_fr:System.Notification|l&#039;API de notification]] pour envoyer une notification avec ou sans délai, et aussi pour annuler toutes les notifications envoyées.&lt;br /&gt;
* Utiliser [[lib_fr:System.Notification|l&#039;API de notification]] pour définir le numéro de badge sur l&#039;icône de l&#039;application ou réinitialiser le numéro de badge à 0 (iOS seulement).&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation des notifications (iOS et Android)|Tutoriel mobile : Utilisation des notifications (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;OrientationSensor&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:System.Sensors.Components.TOrientationSensor|TOrientationSensor]] pour obtenir des informations en rapport avec la boussole, comme l&#039;inclinaison à 3 axes, la distance et la direction, la direction par rapport au nord magnétique compensée et non compensée et la direction par rapport au nord géographique compensée et non compensée.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;PhoneDialer&#039;&#039;&#039;&lt;br /&gt;
| Utiliser [[lib_fr:FMX.PhoneDialer|l&#039;API PhoneDialer]] pour passer un appel téléphonique et obtenir les informations sur l&#039;opérateur.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;PlayAudioFile&#039;&#039;&#039;&lt;br /&gt;
| Utiliser [[lib_fr:FMX.Media.TMediaPlayer|TMediaPlayer]] et inclure un fichier audio à des fins de lecture sur le périphérique mobile.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;ShareSheet&#039;&#039;&#039;&lt;br /&gt;
| Utiliser les [[Actions FireMonkey|actions standard]] pour ouvrir l&#039;application Appareil photo sur votre périphérique mobile, prendre une photo et récupérer la photo prise pour l&#039;afficher sur votre fiche multi-périphérique. Puis, avec une autre action standard, ouvrir la feuille de partage pour partager cette image avec d&#039;autres services.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;TabSliding&#039;&#039;&#039;&lt;br /&gt;
| Utiliser un composant [[lib_fr:FMX.TabControl|TabControl]] avec &#039;&#039;&#039;TabPosition&#039;&#039;&#039; défini sur &#039;&#039;&#039;Dots&#039;&#039;&#039; pour activer le défilement des éléments Onglet sur les périphériques mobiles. L&#039;application comporte deux éléments Onglet, chacun contenant une image différente.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation des composants Onglet pour afficher des pages (iOS et Android)|Tutoriel mobile : Utilisation des composants Onglet pour afficher des pages (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;TimePicker&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:FMX.DateTimeCtrls.TTimeEdit|TTimeEdit]] pour sélectionner des dates et les traiter afin de les utiliser dans vos applications {{FM}}.&lt;br /&gt;
* Pour de plus amples informations, voir [[samp_en:FMX.TimePicker Sample|Exemple FMX.TimePicker]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;VideoPlayback&#039;&#039;&#039;&lt;br /&gt;
| Lire un clip vidéo existant sur votre périphérique mobile iOS ou Android.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;WebBrowser&#039;&#039;&#039;&lt;br /&gt;
| Utiliser un composant [[lib_fr:FMX.WebBrowser.TWebBrowser|TWebBrowser]] sur un périphérique mobile. L&#039;application est constituée d&#039;une zone d&#039;édition, d&#039;un bouton et du composant Navigateur Web. Tapez une adresse dans la zone d&#039;édition et appuyez sur le bouton &amp;quot;Aller à&amp;quot; pour rediriger le navigateur vers votre adresse.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation du composant Navigateur Web (iOS et Android)|Tutoriel mobile : Utilisation du composant Navigateur Web (iOS et Android)]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Tutoriels mobiles : Développement d&#039;applications mobiles (iOS et Android)|Tutoriels mobiles : Développement d&#039;applications mobiles (iOS et Android)]]&lt;br /&gt;
* [[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]]&lt;br /&gt;
* [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]]&lt;br /&gt;
* [[Création d&#039;une app Android|Création d&#039;une app Android]]&lt;br /&gt;
*[[Intégration de Subversion dans l&#039;EDI|Intégration de Subversion dans l&#039;EDI]]&lt;br /&gt;
** [[Valider (SVN)|Valider (SVN)]]&lt;br /&gt;
** [[Mettre à jour (SVN)|Mettre à jour (SVN)]]&lt;br /&gt;
** [[Navigateur de référentiel|Navigateur de référentiel]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:IOS]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:FMX]]&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:XE4]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Liaison_d%27une_propri%C3%A9t%C3%A9_d%27un_composant_%C3%A0_un_champ&amp;diff=213681</id>
		<title>Liaison d&#039;une propriété d&#039;un composant à un champ</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Liaison_d%27une_propri%C3%A9t%C3%A9_d%27un_composant_%C3%A0_un_champ&amp;diff=213681"/>
		<updated>2020-07-29T11:07:50Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Expert LiveBindings}}&lt;br /&gt;
&lt;br /&gt;
Cette procédure montre comment &#039;&#039;&#039;lier une propriété d&#039;un composant à un champ&#039;&#039;&#039; d&#039;un ensemble de données, par le biais de &#039;&#039;&#039;[[Expert LiveBindings|l&#039;expert LiveBindings]]&#039;&#039;&#039;.&lt;br /&gt;
__TOC__&lt;br /&gt;
Commencez par créer une [[Application HD multi-périphérique|application HD multi-périphérique]], puis placez un contrôle &#039;&#039;&#039;TLabel&#039;&#039;&#039; et un ensemble de données client sur la fiche. Vous apprendrez comment lier la propriété &#039;&#039;&#039;Text&#039;&#039;&#039; du libellé à un champ textuel du fichier de données qui est transmis à l&#039;ensemble de données. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Pour que cette procédure fonctionne, la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039; doit typiquement :&lt;br /&gt;
* être installée dans le répertoire /Data accessible via {{SamplesMenu}} ;&lt;br /&gt;
* se trouver dans le référentiel Subversion pour les exemples sur {{CodeSamplesRepositories}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notez que la base de données &#039;&#039;&#039;biolife.fds&#039;&#039;&#039; est une base de données [[FireDAC|FireDAC]] qui peut nécessiter différentes étapes. &amp;lt;f s=&amp;quot;radstudio&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de code qui utilise une base de données similaire (DBDEMOS) est situé dans [[samp_en:FishFacts (Delphi)|l&#039;exemple FishFact ({{Delphi}})]].&amp;lt;f e=&amp;quot;radstudio&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt;&lt;br /&gt;
{{f|datasnap|&lt;br /&gt;
Un tutoriel LiveBindings similaire est aussi disponible : [[Tutoriel : Utilisation de LiveBindings pour créer une application sans code|Tutoriel : Utilisation de LiveBindings pour créer une application sans code]].&lt;br /&gt;
}}&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Conseil :&#039;&#039;&#039; Afin que &#039;&#039;&#039;l&#039;expert LiveBindings&#039;&#039;&#039; soit disponible dans le menu contextuel accessible par clic droit, vous devez l&#039;activer dans {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; LiveBindings}} en sélectionnant &amp;quot;Afficher l&#039;expert LiveBindings dans le menu contextuel&amp;quot;. (Si vous démarrez l&#039;expert depuis le [[Concepteur LiveBindings|Concepteur LiveBindings]], vous n&#039;avez alors pas besoin d&#039;activer la commande Expert dans la boîte de dialogue Options.)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Etape 1 : Tâche de liaison==&lt;br /&gt;
&lt;br /&gt;
Dès que vous avez placé le contrôle libellé sur la fiche, vous devez le lier au champ &#039;&#039;&#039;Category&#039;&#039;&#039; de l&#039;ensemble de données. &lt;br /&gt;
&lt;br /&gt;
Cliquez d&#039;abord sur le composant ensemble de données client, puis dans &#039;&#039;&#039;[[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]]&#039;&#039;&#039;, localisez la propriété &#039;&#039;&#039;FileName&#039;&#039;&#039;. Spécifiez l&#039;emplacement de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Localisez la propriété &#039;&#039;&#039;Active&#039;&#039;&#039; dans [[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]] et définissez-la sur &#039;&#039;&#039;True&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Cliquez avec le bouton droit sur le contrôle image et sélectionnez la commande &#039;&#039;&#039;Expert LiveBindings&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Sélectionnez ensuite &#039;&#039;&#039;Lier une propriété de Label1 à un champ&#039;&#039;&#039; dans la page &#039;&#039;&#039;Tâche de liaison&#039;&#039;&#039; de l&#039;expert.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField1.png]]&lt;br /&gt;
&lt;br /&gt;
Validez votre sélection en cliquant sur le bouton &#039;&#039;&#039;Suivant&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
==Etape 2 : Propriété de composant==&lt;br /&gt;
&lt;br /&gt;
Vous êtes maintenant invité à sélectionner le composant et la propriété auxquels vous voulez lier votre libellé.&lt;br /&gt;
&lt;br /&gt;
Dans la zone de liste déroulante &#039;&#039;&#039;Composant&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Label1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dans la zone de liste déroulante &#039;&#039;&#039;Propriété&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Text&#039;&#039;&#039;, puisque vous voulez lier le libellé au champ texte &#039;&#039;&#039;Category&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField2.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 3 : Source de données==&lt;br /&gt;
&lt;br /&gt;
Vous devez sélectionner ici l&#039;ensemble de données depuis l&#039;onglet &#039;&#039;&#039;Source existante&#039;&#039;&#039;. Choisissez &#039;&#039;&#039;ClientDataSet1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField3.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 4 : Champ==&lt;br /&gt;
&lt;br /&gt;
La liste des champs disponibles de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039; est maintenant présentée. &lt;br /&gt;
&lt;br /&gt;
Sélectionnez le champ &#039;&#039;&#039;Category&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField4.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 5 : Options==&lt;br /&gt;
&lt;br /&gt;
Vous êtes invité à préciser si vous voulez créer un navigateur de source de données avec votre expression de liaison. &lt;br /&gt;
&lt;br /&gt;
Pour cet exemple, choisissez d&#039;ajouter un navigateur.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField5.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Terminer&#039;&#039;&#039; car c&#039;est la dernière page de l&#039;expert. &lt;br /&gt;
&lt;br /&gt;
Dès que l&#039;expert est fermé, une nouvelle expression de liaison est créée. Elle lie la propriété &#039;&#039;&#039;Text&#039;&#039;&#039; du contrôle image et le champ &#039;&#039;&#039;Category&#039;&#039;&#039; de l&#039;ensemble de données spécifié.&lt;br /&gt;
&lt;br /&gt;
==Les résultats==&lt;br /&gt;
&lt;br /&gt;
Dès que l&#039;expert est fermé et que vous revenez dans le concepteur de l&#039;EDI, vous constatez que deux nouveaux composants associés au moteur LiveBindings ont été ajoutés (&#039;&#039;&#039;TBindingsList&#039;&#039;&#039; et &#039;&#039;&#039;TBindScopeDB&#039;&#039;&#039;) ainsi qu&#039;un composant &#039;&#039;&#039;TBindNavigator&#039;&#039;&#039;. Pour afficher la boîte de dialogue [[Editeur d&#039;expressions de liaison|Editeur d&#039;expressions de liaison]], double-cliquez sur le composant &#039;&#039;&#039;BindingsList1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithFieldBindingsList.png]]&lt;br /&gt;
&lt;br /&gt;
Exécutez maintenant l&#039;application (appuyez sur &#039;&#039;&#039;F9&#039;&#039;&#039;) et testez votre expression de liaison en parcourant les enregistrements de l&#039;ensemble de données. Vous devriez constater que le texte du libellé est mis à jour correctement.&lt;br /&gt;
&lt;br /&gt;
Un écran représentant l&#039;exécution de l&#039;application est affiché ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithFieldResults.png]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Tutoriel : Utilisation de LiveBindings pour créer une application sans code|Tutoriel : Utilisation de LiveBindings pour créer une application sans code]]&lt;br /&gt;
* [[LiveBindings dans RAD Studio|LiveBindings dans RAD Studio]]&lt;br /&gt;
* [[Expert LiveBindings|Expert LiveBindings]]&lt;br /&gt;
* [[Liaison d&#039;un contrôle à un champ|Liaison d&#039;un contrôle à un champ]]&lt;br /&gt;
* [[Liaison d&#039;un contrôle à une propriété de composant|Liaison d&#039;un contrôle à une propriété de composant]]&lt;br /&gt;
* [[Liaison d&#039;une propriété d&#039;un composant à un contrôle|Liaison d&#039;une propriété d&#039;un composant à un contrôle]]&lt;br /&gt;
* [[Création d&#039;une source de données (Expert LiveBindings)|Création d&#039;une source de données]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:XE3]]&lt;br /&gt;
[[Category:LiveBindings]]&lt;br /&gt;
[[Category:Référence RAD Studio]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Extraits_de_code_mobile&amp;diff=213684</id>
		<title>Extraits de code mobile</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Extraits_de_code_mobile&amp;diff=213684"/>
		<updated>2020-07-29T11:07:38Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Développement d&#039;applications mobiles iOS}}&lt;br /&gt;
{{Parent|Développement d&#039;applications mobiles Android}}&lt;br /&gt;
__TOC__&lt;br /&gt;
[[Image:CodeSnippetsKH.png|thumbnail|300px|right|Extraits de code mobile sur la page d&#039;accueil]]&lt;br /&gt;
Les &#039;&#039;&#039;extraits de code mobile&#039;&#039;&#039; sont des exemples de code courts ; ils vous aident à comprendre comment implémenter les fonctionnalités mobiles de base en utilisant {{Product}}. Tous les extraits de code mobile sont listés [[#Liste des extraits de code mobile|ici]], et certains figurent sur la page d&#039;accueil et la page d&#039;introduction de {{Product}}, comme suit :&lt;br /&gt;
&lt;br /&gt;
* La [[Page d&#039;accueil|page d&#039;accueil]] de &#039;&#039;&#039;{{Variables|Product}}&#039;&#039;&#039; est disponible dans le produit. Elle fournit :&lt;br /&gt;
** Des liens vers certains &#039;&#039;&#039;extraits de code mobile&#039;&#039;&#039; et de courtes vidéos illustrant les extraits&lt;br /&gt;
** Des liens pour démarrer les projets associés avec les &#039;&#039;&#039;extraits de code mobile&#039;&#039;&#039;&lt;br /&gt;
*** Les exemples installés contiennent un répertoire spécifique pour les extraits, typiquement dans {{SamplesPath}}&lt;br /&gt;
* La &#039;&#039;&#039;[http://www.embarcadero.com/starthere/xe7/index.html page d&#039;introduction pour {{Product}}]&#039;&#039;&#039; est disponible depuis la page d&#039;accueil.  Elle fournit :&lt;br /&gt;
** L&#039;URL du référentiel de code SourceForge pour certains extraits de code&lt;br /&gt;
** De courtes vidéos et des liens vers les tutoriels mobiles et les exemples associés (démos).&lt;br /&gt;
&lt;br /&gt;
==Emplacement installé des projets Extraits de code mobile==&lt;br /&gt;
&lt;br /&gt;
Les &#039;&#039;&#039;extraits de code mobile&#039;&#039;&#039; sont livrés dans les dossiers suivants de l&#039;installation de votre produit (par langage) :&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{Path|{{DelphiSamplesPath}}\Mobile Snippets}}&lt;br /&gt;
* {{Path|{{CppSamplesPath}}\Mobile Snippets}}&lt;br /&gt;
&lt;br /&gt;
Chaque dossier d&#039;extraits contient les fichiers pour un ou plusieurs projets {{Variables|Product}} : c&#039;est-à-dire les fichiers projet, le code source, les fichiers fiche et un fichier &#039;&#039;&#039;Information.txt&#039;&#039;&#039; (un fichier readme) pour chaque projet d&#039;extrait de code (par exemple, le projet Accelerometer).&lt;br /&gt;
&lt;br /&gt;
===Pour naviguer rapidement jusqu&#039;aux extraits de code mobile===&lt;br /&gt;
&lt;br /&gt;
#Sélectionnez ‎{{SamplesMenu}}.&lt;br /&gt;
#Ouvrez le dossier du langage que vous utilisez (c&#039;est-à-dire, {{Delphi}} ou {{CBuilder}}).&lt;br /&gt;
# Ouvrez le dossier &#039;&#039;&#039;Mobile Snippets&#039;&#039;&#039; :&lt;br /&gt;
#* &#039;&#039;&#039;{{DelphiSamplesPath}}\Mobile Snippets&#039;&#039;&#039;&lt;br /&gt;
#* &#039;&#039;&#039;{{CppSamplesPath}}\Mobile Snippets&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Téléchargement du dernier code source==&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver des exemples de code Delphi et C ++ dans {{CodeSamplesRepositories}}.  Recherchez par nom dans les référentiels d&#039;exemples en fonction de votre version de RAD Studio.&lt;br /&gt;
&lt;br /&gt;
==Liste des extraits de code mobile==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; frame=&amp;quot;hsides&amp;quot; rules=&amp;quot;rows&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Extrait de code&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Vous montre comment ...&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Accelerometer&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le détecteur [[lib_fr:System.Sensors.Components.TMotionSensor|Accelerometer]] pour obtenir des informations sur l&#039;accélération de périphérique, l&#039;accélération angulaire, le mouvement et la vitesse.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;AccessCameraApp&#039;&#039;&#039;&lt;br /&gt;
| Utiliser les [[Actions FireMonkey|actions standard]] pour ouvrir l&#039;application Appareil photo sur votre périphérique mobile, prendre une photo et récupérer la photo prise pour l&#039;afficher sur votre fiche multi-périphérique.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;AudioRecPlay&#039;&#039;&#039;&lt;br /&gt;
| Enregistrer des [[Audio-vidéo dans FireMonkey|données audio (son)]] en utilisant le microphone du périphérique, puis lire ces données audio en utilisant le haut-parleur ou les écouteurs du périphérique.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CameraComponent&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
| Manipuler la [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|caméra (appareil photo) sur votre périphérique mobile]], puis sélectionner la caméra avant ou arrière. Vous pouvez également sélectionner le mode d&#039;utilisation du flash (toujours activé, automatique ou désactivé).&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;CameraRoll&#039;&#039;&#039;&lt;br /&gt;
| Utiliser les [[Actions FireMonkey|actions standard]] pour ouvrir la bibliothèque de photos de votre périphérique mobile et y récupérer une image pour l&#039;afficher sur votre fiche multi-périphérique.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;CustomPicker&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:FMX.ListBox.TComboBox|TComboBox]] pour sélectionner un composant dans la zone de liste déroulante et afficher le texte de l&#039;élément sur un libellé.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation de composants Zone de liste déroulante pour sélectionner des éléments dans une liste (iOS et Android)|Tutoriel mobile : Utilisation de composants Zone de liste déroulante pour sélectionner des éléments dans une liste (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;DatePicker&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:FMX.DateTimeCtrls.TDateEdit|TDateEdit]] pour sélectionner des dates et les traiter afin de les utiliser dans vos applications {{FM}}.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation d&#039;un composant Calendrier pour sélectionner une date (iOS et Android)|Tutoriel mobile : Utilisation d&#039;un composant Calendrier pour sélectionner une date (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;DeviceInfo&#039;&#039;&#039;&lt;br /&gt;
| Obtenir des informations sur le périphérique, notamment la version du système d&#039;exploitation, le nom du système d&#039;exploitation et le type de périphérique.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;FireDAC_IBLite&#039;&#039;&#039;&lt;br /&gt;
|Remplir une vue liste depuis une base de données [[InterBase ToGo|IBLite]] en utilisant [[FireDAC|FireDAC]] et [[LiveBindings dans RAD Studio|LiveBindings]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;FireDACSQLite&#039;&#039;&#039;&lt;br /&gt;
| Remplir une zone de liste depuis une base de données [[Utilisation de SQLite avec FireDAC|SQLite]] en utilisant [[FireDAC|FireDAC]] et [[LiveBindings dans RAD Studio|LiveBindings]].&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation de FireDAC et SQLite (iOS et Android)|Tutoriel mobile : Utilisation de FireDAC et SQLite (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Gyroscope&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:System.Sensors.TCustomOrientationSensor|Gyroscope]] pour faire pivoter un cube 3D lorsque le périphérique mobile est incliné.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;HorizontalScroll&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:FMX.Layouts.THorzScrollBox|THorzScrollBox]] pour faire défiler deux images identiques.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;IBLite&#039;&#039;&#039;&lt;br /&gt;
| Remplir une vue liste depuis une [[InterBase ToGo|base de données IBLite]] en utilisant LiveBindings.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation de InterBase ToGo avec dbExpress (iOS et Android)|Tutoriel mobile : Utilisation de InterBase ToGo avec dbExpress (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;InteractiveGestures&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ImageRotation&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ImageZoom&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;TapAndHold&#039;&#039;&#039;&lt;br /&gt;
| Trois extraits de code distincts qui illustrent comment :&lt;br /&gt;
* Activer la rotation d&#039;une image sur un périphérique mobile.&lt;br /&gt;
* Activer le zoom avant/arrière d&#039;une image sur un périphérique mobile.&lt;br /&gt;
* Activer le mouvement Appuyer de façon prolongée (Appuyer et maintenir) sur un périphérique mobile.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Location&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:System.Sensors.Components.TLocationSensor|TLocationSensor]] pour lire la localisation GPS du périphérique et l&#039;afficher en temps réel sur la fiche. L&#039;extrait de code vous montre également comment utiliser Google Maps pour localiser précisément l&#039;emplacement du périphérique sur une carte réelle.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation de détecteurs d&#039;emplacement (iOS et Android)|Tutoriel mobile : Utilisation de détecteurs d&#039;emplacement (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;MessageAlerts&#039;&#039;&#039;&lt;br /&gt;
| Faire apparaître différents messages d&#039;alerte, utilisant un style de zone d&#039;information standard à un bouton ou des styles de zone de texte à plusieurs boutons permettant différentes confirmations.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Notifications&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;SendCancelNotification&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;SetResetBadgeNumber (iOS seulement)&#039;&#039;&#039;&lt;br /&gt;
| Deux extraits de code distincts qui illustrent comment :&lt;br /&gt;
* Utiliser [[lib_fr:System.Notification|l&#039;API de notification]] pour envoyer une notification avec ou sans délai, et aussi pour annuler toutes les notifications envoyées.&lt;br /&gt;
* Utiliser [[lib_fr:System.Notification|l&#039;API de notification]] pour définir le numéro de badge sur l&#039;icône de l&#039;application ou réinitialiser le numéro de badge à 0 (iOS seulement).&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation des notifications (iOS et Android)|Tutoriel mobile : Utilisation des notifications (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;OrientationSensor&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:System.Sensors.Components.TOrientationSensor|TOrientationSensor]] pour obtenir des informations en rapport avec la boussole, comme l&#039;inclinaison à 3 axes, la distance et la direction, la direction par rapport au nord magnétique compensée et non compensée et la direction par rapport au nord géographique compensée et non compensée.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;PhoneDialer&#039;&#039;&#039;&lt;br /&gt;
| Utiliser [[lib_fr:FMX.PhoneDialer|l&#039;API PhoneDialer]] pour passer un appel téléphonique et obtenir les informations sur l&#039;opérateur.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;PlayAudioFile&#039;&#039;&#039;&lt;br /&gt;
| Utiliser [[lib_fr:FMX.Media.TMediaPlayer|TMediaPlayer]] et inclure un fichier audio à des fins de lecture sur le périphérique mobile.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;ShareSheet&#039;&#039;&#039;&lt;br /&gt;
| Utiliser les [[Actions FireMonkey|actions standard]] pour ouvrir l&#039;application Appareil photo sur votre périphérique mobile, prendre une photo et récupérer la photo prise pour l&#039;afficher sur votre fiche multi-périphérique. Puis, avec une autre action standard, ouvrir la feuille de partage pour partager cette image avec d&#039;autres services.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)|Tutoriel mobile : Prendre une photo et la partager, et partager du texte (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;TabSliding&#039;&#039;&#039;&lt;br /&gt;
| Utiliser un composant [[lib_fr:FMX.TabControl|TabControl]] avec &#039;&#039;&#039;TabPosition&#039;&#039;&#039; défini sur &#039;&#039;&#039;Dots&#039;&#039;&#039; pour activer le défilement des éléments Onglet sur les périphériques mobiles. L&#039;application comporte deux éléments Onglet, chacun contenant une image différente.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation des composants Onglet pour afficher des pages (iOS et Android)|Tutoriel mobile : Utilisation des composants Onglet pour afficher des pages (iOS et Android)]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;TimePicker&#039;&#039;&#039;&lt;br /&gt;
| Utiliser le composant [[lib_fr:FMX.DateTimeCtrls.TTimeEdit|TTimeEdit]] pour sélectionner des dates et les traiter afin de les utiliser dans vos applications {{FM}}.&lt;br /&gt;
* Pour de plus amples informations, voir [[samp_en:FMX.TimePicker Sample|Exemple FMX.TimePicker]].&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;VideoPlayback&#039;&#039;&#039;&lt;br /&gt;
| Lire un clip vidéo existant sur votre périphérique mobile iOS ou Android.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;WebBrowser&#039;&#039;&#039;&lt;br /&gt;
| Utiliser un composant [[lib_fr:FMX.WebBrowser.TWebBrowser|TWebBrowser]] sur un périphérique mobile. L&#039;application est constituée d&#039;une zone d&#039;édition, d&#039;un bouton et du composant Navigateur Web. Tapez une adresse dans la zone d&#039;édition et appuyez sur le bouton &amp;quot;Aller à&amp;quot; pour rediriger le navigateur vers votre adresse.&lt;br /&gt;
* Pour de plus amples informations, voir [[Tutoriel mobile : Utilisation du composant Navigateur Web (iOS et Android)|Tutoriel mobile : Utilisation du composant Navigateur Web (iOS et Android)]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Tutoriels mobiles : Développement d&#039;applications mobiles (iOS et Android)|Tutoriels mobiles : Développement d&#039;applications mobiles (iOS et Android)]]&lt;br /&gt;
* [[Développement d&#039;applications mobiles iOS|Développement d&#039;applications mobiles iOS]]&lt;br /&gt;
* [[Développement d&#039;applications mobiles Android|Développement d&#039;applications mobiles Android]]&lt;br /&gt;
* [[Création d&#039;une app Android|Création d&#039;une app Android]]&lt;br /&gt;
*[[Intégration de Subversion dans l&#039;EDI|Intégration de Subversion dans l&#039;EDI]]&lt;br /&gt;
** [[Valider (SVN)|Valider (SVN)]]&lt;br /&gt;
** [[Mettre à jour (SVN)|Mettre à jour (SVN)]]&lt;br /&gt;
** [[Navigateur de référentiel|Navigateur de référentiel]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:IOS]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:FMX]]&lt;br /&gt;
[[Category:Multi-périphérique]]&lt;br /&gt;
[[Category:XE4]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Liaison_d%27une_propri%C3%A9t%C3%A9_d%27un_composant_%C3%A0_un_champ&amp;diff=213682</id>
		<title>Liaison d&#039;une propriété d&#039;un composant à un champ</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Liaison_d%27une_propri%C3%A9t%C3%A9_d%27un_composant_%C3%A0_un_champ&amp;diff=213682"/>
		<updated>2020-07-29T11:07:37Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Expert LiveBindings}}&lt;br /&gt;
&lt;br /&gt;
Cette procédure montre comment &#039;&#039;&#039;lier une propriété d&#039;un composant à un champ&#039;&#039;&#039; d&#039;un ensemble de données, par le biais de &#039;&#039;&#039;[[Expert LiveBindings|l&#039;expert LiveBindings]]&#039;&#039;&#039;.&lt;br /&gt;
__TOC__&lt;br /&gt;
Commencez par créer une [[Application HD multi-périphérique|application HD multi-périphérique]], puis placez un contrôle &#039;&#039;&#039;TLabel&#039;&#039;&#039; et un ensemble de données client sur la fiche. Vous apprendrez comment lier la propriété &#039;&#039;&#039;Text&#039;&#039;&#039; du libellé à un champ textuel du fichier de données qui est transmis à l&#039;ensemble de données. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Pour que cette procédure fonctionne, la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039; doit typiquement :&lt;br /&gt;
* être installée dans le répertoire /Data accessible via {{SamplesMenu}} ;&lt;br /&gt;
* se trouver dans le référentiel Subversion pour les exemples sur {{CodeSamplesRepositories}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notez que la base de données &#039;&#039;&#039;biolife.fds&#039;&#039;&#039; est une base de données [[FireDAC|FireDAC]] qui peut nécessiter différentes étapes. &amp;lt;f s=&amp;quot;radstudio&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de code qui utilise une base de données similaire (DBDEMOS) est situé dans [[samp_en:FishFacts (Delphi)|l&#039;exemple FishFact ({{Delphi}})]].&amp;lt;f e=&amp;quot;radstudio&amp;quot; t=&amp;quot;span&amp;quot; /&amp;gt;&lt;br /&gt;
{{f|datasnap|&lt;br /&gt;
Un tutoriel LiveBindings similaire est aussi disponible : [[Tutoriel : Utilisation de LiveBindings pour créer une application sans code|Tutoriel : Utilisation de LiveBindings pour créer une application sans code]].&lt;br /&gt;
}}&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Conseil :&#039;&#039;&#039; Afin que &#039;&#039;&#039;l&#039;expert LiveBindings&#039;&#039;&#039; soit disponible dans le menu contextuel accessible par clic droit, vous devez l&#039;activer dans {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; LiveBindings}} en sélectionnant &amp;quot;Afficher l&#039;expert LiveBindings dans le menu contextuel&amp;quot;. (Si vous démarrez l&#039;expert depuis le [[Concepteur LiveBindings|Concepteur LiveBindings]], vous n&#039;avez alors pas besoin d&#039;activer la commande Expert dans la boîte de dialogue Options.)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Etape 1 : Tâche de liaison==&lt;br /&gt;
&lt;br /&gt;
Dès que vous avez placé le contrôle libellé sur la fiche, vous devez le lier au champ &#039;&#039;&#039;Category&#039;&#039;&#039; de l&#039;ensemble de données. &lt;br /&gt;
&lt;br /&gt;
Cliquez d&#039;abord sur le composant ensemble de données client, puis dans &#039;&#039;&#039;[[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]]&#039;&#039;&#039;, localisez la propriété &#039;&#039;&#039;FileName&#039;&#039;&#039;. Spécifiez l&#039;emplacement de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Localisez la propriété &#039;&#039;&#039;Active&#039;&#039;&#039; dans [[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]] et définissez-la sur &#039;&#039;&#039;True&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Cliquez avec le bouton droit sur le contrôle image et sélectionnez la commande &#039;&#039;&#039;Expert LiveBindings&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Sélectionnez ensuite &#039;&#039;&#039;Lier une propriété de Label1 à un champ&#039;&#039;&#039; dans la page &#039;&#039;&#039;Tâche de liaison&#039;&#039;&#039; de l&#039;expert.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField1.png]]&lt;br /&gt;
&lt;br /&gt;
Validez votre sélection en cliquant sur le bouton &#039;&#039;&#039;Suivant&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
==Etape 2 : Propriété de composant==&lt;br /&gt;
&lt;br /&gt;
Vous êtes maintenant invité à sélectionner le composant et la propriété auxquels vous voulez lier votre libellé.&lt;br /&gt;
&lt;br /&gt;
Dans la zone de liste déroulante &#039;&#039;&#039;Composant&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Label1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dans la zone de liste déroulante &#039;&#039;&#039;Propriété&#039;&#039;&#039;, sélectionnez &#039;&#039;&#039;Text&#039;&#039;&#039;, puisque vous voulez lier le libellé au champ texte &#039;&#039;&#039;Category&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField2.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 3 : Source de données==&lt;br /&gt;
&lt;br /&gt;
Vous devez sélectionner ici l&#039;ensemble de données depuis l&#039;onglet &#039;&#039;&#039;Source existante&#039;&#039;&#039;. Choisissez &#039;&#039;&#039;ClientDataSet1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField3.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 4 : Champ==&lt;br /&gt;
&lt;br /&gt;
La liste des champs disponibles de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039; est maintenant présentée. &lt;br /&gt;
&lt;br /&gt;
Sélectionnez le champ &#039;&#039;&#039;Category&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField4.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 5 : Options==&lt;br /&gt;
&lt;br /&gt;
Vous êtes invité à préciser si vous voulez créer un navigateur de source de données avec votre expression de liaison. &lt;br /&gt;
&lt;br /&gt;
Pour cet exemple, choisissez d&#039;ajouter un navigateur.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithField5.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Terminer&#039;&#039;&#039; car c&#039;est la dernière page de l&#039;expert. &lt;br /&gt;
&lt;br /&gt;
Dès que l&#039;expert est fermé, une nouvelle expression de liaison est créée. Elle lie la propriété &#039;&#039;&#039;Text&#039;&#039;&#039; du contrôle image et le champ &#039;&#039;&#039;Category&#039;&#039;&#039; de l&#039;ensemble de données spécifié.&lt;br /&gt;
&lt;br /&gt;
==Les résultats==&lt;br /&gt;
&lt;br /&gt;
Dès que l&#039;expert est fermé et que vous revenez dans le concepteur de l&#039;EDI, vous constatez que deux nouveaux composants associés au moteur LiveBindings ont été ajoutés (&#039;&#039;&#039;TBindingsList&#039;&#039;&#039; et &#039;&#039;&#039;TBindScopeDB&#039;&#039;&#039;) ainsi qu&#039;un composant &#039;&#039;&#039;TBindNavigator&#039;&#039;&#039;. Pour afficher la boîte de dialogue [[Editeur d&#039;expressions de liaison|Editeur d&#039;expressions de liaison]], double-cliquez sur le composant &#039;&#039;&#039;BindingsList1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithFieldBindingsList.png]]&lt;br /&gt;
&lt;br /&gt;
Exécutez maintenant l&#039;application (appuyez sur &#039;&#039;&#039;F9&#039;&#039;&#039;) et testez votre expression de liaison en parcourant les enregistrements de l&#039;ensemble de données. Vous devriez constater que le texte du libellé est mis à jour correctement.&lt;br /&gt;
&lt;br /&gt;
Un écran représentant l&#039;exécution de l&#039;application est affiché ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkPropertyWithFieldResults.png]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[Tutoriel : Utilisation de LiveBindings pour créer une application sans code|Tutoriel : Utilisation de LiveBindings pour créer une application sans code]]&lt;br /&gt;
* [[LiveBindings dans RAD Studio|LiveBindings dans RAD Studio]]&lt;br /&gt;
* [[Expert LiveBindings|Expert LiveBindings]]&lt;br /&gt;
* [[Liaison d&#039;un contrôle à un champ|Liaison d&#039;un contrôle à un champ]]&lt;br /&gt;
* [[Liaison d&#039;un contrôle à une propriété de composant|Liaison d&#039;un contrôle à une propriété de composant]]&lt;br /&gt;
* [[Liaison d&#039;une propriété d&#039;un composant à un contrôle|Liaison d&#039;une propriété d&#039;un composant à un contrôle]]&lt;br /&gt;
* [[Création d&#039;une source de données (Expert LiveBindings)|Création d&#039;une source de données]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:XE3]]&lt;br /&gt;
[[Category:LiveBindings]]&lt;br /&gt;
[[Category:Référence RAD Studio]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Liaison_d%27un_contr%C3%B4le_%C3%A0_un_champ&amp;diff=213679</id>
		<title>Liaison d&#039;un contrôle à un champ</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Liaison_d%27un_contr%C3%B4le_%C3%A0_un_champ&amp;diff=213679"/>
		<updated>2020-07-29T10:30:47Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Expert LiveBindings}}&lt;br /&gt;
&lt;br /&gt;
Cette procédure montre comment &#039;&#039;&#039;lier un contrôle à un champ&#039;&#039;&#039; d&#039;un ensemble de données, par le biais de &#039;&#039;&#039;[[Expert LiveBindings|l&#039;expert LiveBindings]]&#039;&#039;&#039;.&lt;br /&gt;
__TOC__&lt;br /&gt;
Commencez par créer une [[Application HD multi-périphérique|application HD multi-périphérique]]. Placez ensuite un libellé et un ensemble de données client sur la fiche. Vous allez lier le contrôle libellé à un champ texte du fichier de données qui est transmis à l&#039;ensemble de données. &lt;br /&gt;
&lt;br /&gt;
Pour que cette procédure fonctionne, vous devez disposer de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039; qui est typiquement installée dans \Data du répertoire Samples sur {{SamplesMenu}}. {{f|radstudio|Biolife.cds et est aussi disponible avec les autres exemples sur {{CodeSamplesRepositories}}.  Un exemple de code utilisant une base de données similaire (DBDEMOS) est décrit dans [[samp_en:FishFacts (Delphi)|FishFacts ({{Delphi}})]]. }}   Notez que la base de données &#039;&#039;&#039;biolife.fds&#039;&#039;&#039; est une base de données [[FireDAC|FireDAC]] pouvant nécessiter différentes étapes.  {{f|datasnap|Un autre tutoriel LiveBindings est aussi disponible ici : [[Tutoriel : Utilisation de LiveBindings pour créer une application sans code|Tutoriel : Utilisation de LiveBindings pour créer une application sans code]].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Conseil :&#039;&#039;&#039; Afin que &#039;&#039;&#039;l&#039;expert LiveBindings&#039;&#039;&#039; soit disponible dans le menu contextuel par clic droit, vous devez l&#039;activer dans {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; [[Options LiveBindings|LiveBindings]]}} en sélectionnant &amp;quot;&#039;&#039;&#039;Afficher l&#039;expert LiveBindings dans le menu contextuel&#039;&#039;&#039;&amp;quot;. (Si vous démarrez l&#039;expert depuis le [[Concepteur LiveBindings|Concepteur LiveBindings]], vous n&#039;avez alors pas besoin d&#039;activer la commande Expert dans la boîte de dialogue Options.)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Etape 1 : Tâche de liaison==&lt;br /&gt;
&lt;br /&gt;
Dès que vous avez placé le contrôle libellé sur la fiche, vous devez le lier au champ &#039;&#039;&#039;Name&#039;&#039;&#039; de l&#039;ensemble de données. &lt;br /&gt;
&lt;br /&gt;
Cliquez d&#039;abord sur le composant ensemble de données client, puis dans &#039;&#039;&#039;[[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]]&#039;&#039;&#039;, localisez la propriété &#039;&#039;&#039;FileName&#039;&#039;&#039;. Spécifiez l&#039;emplacement de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Localisez la propriété &#039;&#039;&#039;Active&#039;&#039;&#039; dans [[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]] et définissez-la sur &#039;&#039;&#039;True&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Cliquez avec le bouton droit sur le contrôle libellé et sélectionnez la commande &#039;&#039;&#039;Expert LiveBindings&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Sélectionnez ensuite &#039;&#039;&#039;Lier &amp;quot;Label1&amp;quot; à un champ&#039;&#039;&#039; dans la page &#039;&#039;&#039;Tâche de liaison&#039;&#039;&#039; de l&#039;expert.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithField1.png]]&lt;br /&gt;
&lt;br /&gt;
Validez votre sélection en cliquant sur le bouton &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 2 : Source de données==&lt;br /&gt;
&lt;br /&gt;
Vous devez sélectionner ici l&#039;ensemble de données sur l&#039;onglet &#039;&#039;&#039;Source existante&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithField2.png]]&lt;br /&gt;
&lt;br /&gt;
Validez votre sélection en passant à l&#039;étape suivante.&lt;br /&gt;
&lt;br /&gt;
==Etape 3 : Champ==&lt;br /&gt;
&lt;br /&gt;
La liste des champs disponibles de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039; est maintenant présentée. Sélectionnez le champ &#039;&#039;&#039;Category&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithField3.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 4 : Options==&lt;br /&gt;
&lt;br /&gt;
Vous êtes invité à préciser si un navigateur de source de données doit être créé avec votre expression de liaison. &lt;br /&gt;
&lt;br /&gt;
Choisissez d&#039;ajouter un navigateur de source de données pour cet exemple.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithField4.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Terminer&#039;&#039;&#039; car c&#039;est la dernière page de l&#039;expert. &lt;br /&gt;
&lt;br /&gt;
Dès que l&#039;expert est fermé, une nouvelle expression de liaison est créée. Elle lie le contrôle libellé et le champ &#039;&#039;&#039;Category&#039;&#039;&#039; de l&#039;ensemble de données spécifié.&lt;br /&gt;
&lt;br /&gt;
==Les résultats==&lt;br /&gt;
&lt;br /&gt;
Dès que l&#039;expert est fermé et que vous êtes revenu dans le concepteur de l&#039;EDI, vous constatez que deux nouveaux composants associés au moteur LiveBindings ont été ajoutés (&#039;&#039;&#039;TBindingsList&#039;&#039;&#039; et &#039;&#039;&#039;TBindScopeDB&#039;&#039;&#039;) ainsi qu&#039;un composant &#039;&#039;&#039;TBindNavigator&#039;&#039;&#039;. Pour afficher la boîte de dialogue [[Editeur d&#039;expressions de liaison|Editeur d&#039;expressions de liaison]], double-cliquez sur le composant &#039;&#039;&#039;BindingsList1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithFieldBindingsList.png]]&lt;br /&gt;
&lt;br /&gt;
Exécutez maintenant l&#039;application (appuyez sur &#039;&#039;&#039;F9&#039;&#039;&#039;) et testez votre expression de liaison en parcourant les enregistrements de l&#039;ensemble de données. Vous devriez constater que le libellé est mis à jour correctement.&lt;br /&gt;
&lt;br /&gt;
Un écran de l&#039;exécution de l&#039;application est présenté ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithFieldResults.png]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[LiveBindings dans RAD Studio|LiveBindings dans RAD Studio]]&lt;br /&gt;
* [[Expert LiveBindings|Expert LiveBindings]]&lt;br /&gt;
* [[Liaison d&#039;un contrôle à une propriété de composant|Liaison d&#039;un contrôle à une propriété de composant]]&lt;br /&gt;
* [[Liaison d&#039;une propriété d&#039;un composant à un contrôle|Liaison d&#039;une propriété d&#039;un composant à un contrôle]]&lt;br /&gt;
* [[Liaison d&#039;une propriété d&#039;un composant à un champ|Liaison d&#039;une propriété d&#039;un composant à un champ]]&lt;br /&gt;
* [[Création d&#039;une source de données (Expert LiveBindings)|Création d&#039;une source de données]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:XE3]]&lt;br /&gt;
[[Category:LiveBindings]]&lt;br /&gt;
[[Category:Référence RAD Studio]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Liaison_d%27un_contr%C3%B4le_%C3%A0_un_champ&amp;diff=213680</id>
		<title>Liaison d&#039;un contrôle à un champ</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=Liaison_d%27un_contr%C3%B4le_%C3%A0_un_champ&amp;diff=213680"/>
		<updated>2020-07-29T10:30:33Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Expert LiveBindings}}&lt;br /&gt;
&lt;br /&gt;
Cette procédure montre comment &#039;&#039;&#039;lier un contrôle à un champ&#039;&#039;&#039; d&#039;un ensemble de données, par le biais de &#039;&#039;&#039;[[Expert LiveBindings|l&#039;expert LiveBindings]]&#039;&#039;&#039;.&lt;br /&gt;
__TOC__&lt;br /&gt;
Commencez par créer une [[Application HD multi-périphérique|application HD multi-périphérique]]. Placez ensuite un libellé et un ensemble de données client sur la fiche. Vous allez lier le contrôle libellé à un champ texte du fichier de données qui est transmis à l&#039;ensemble de données. &lt;br /&gt;
&lt;br /&gt;
Pour que cette procédure fonctionne, vous devez disposer de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039; qui est typiquement installée dans \Data du répertoire Samples sur {{SamplesMenu}}. {{f|radstudio|Biolife.cds et est aussi disponible avec les autres exemples sur {{CodeSamplesRepositories}}.  Un exemple de code utilisant une base de données similaire (DBDEMOS) est décrit dans [[samp_en:FishFacts (Delphi)|FishFacts ({{Delphi}})]]. }}   Notez que la base de données &#039;&#039;&#039;biolife.fds&#039;&#039;&#039; est une base de données [[FireDAC|FireDAC]] pouvant nécessiter différentes étapes.  {{f|datasnap|Un autre tutoriel LiveBindings est aussi disponible ici : [[Tutoriel : Utilisation de LiveBindings pour créer une application sans code|Tutoriel : Utilisation de LiveBindings pour créer une application sans code]].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Conseil :&#039;&#039;&#039; Afin que &#039;&#039;&#039;l&#039;expert LiveBindings&#039;&#039;&#039; soit disponible dans le menu contextuel par clic droit, vous devez l&#039;activer dans {{Menu|Outils &amp;amp;gt; Options &amp;amp;gt; [[Options LiveBindings|LiveBindings]]}} en sélectionnant &amp;quot;&#039;&#039;&#039;Afficher l&#039;expert LiveBindings dans le menu contextuel&#039;&#039;&#039;&amp;quot;. (Si vous démarrez l&#039;expert depuis le [[Concepteur LiveBindings|Concepteur LiveBindings]], vous n&#039;avez alors pas besoin d&#039;activer la commande Expert dans la boîte de dialogue Options.)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Etape 1 : Tâche de liaison==&lt;br /&gt;
&lt;br /&gt;
Dès que vous avez placé le contrôle libellé sur la fiche, vous devez le lier au champ &#039;&#039;&#039;Name&#039;&#039;&#039; de l&#039;ensemble de données. &lt;br /&gt;
&lt;br /&gt;
Cliquez d&#039;abord sur le composant ensemble de données client, puis dans &#039;&#039;&#039;[[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]]&#039;&#039;&#039;, localisez la propriété &#039;&#039;&#039;FileName&#039;&#039;&#039;. Spécifiez l&#039;emplacement de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Localisez la propriété &#039;&#039;&#039;Active&#039;&#039;&#039; dans [[Inspecteur d&#039;objets|l&#039;inspecteur d&#039;objets]] et définissez-la sur &#039;&#039;&#039;True&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Cliquez avec le bouton droit sur le contrôle libellé et sélectionnez la commande &#039;&#039;&#039;Expert LiveBindings&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Sélectionnez ensuite &#039;&#039;&#039;Lier &amp;quot;Label1&amp;quot; à un champ&#039;&#039;&#039; dans la page &#039;&#039;&#039;Tâche de liaison&#039;&#039;&#039; de l&#039;expert.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithField1.png]]&lt;br /&gt;
&lt;br /&gt;
Validez votre sélection en cliquant sur le bouton &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 2 : Source de données==&lt;br /&gt;
&lt;br /&gt;
Vous devez sélectionner ici l&#039;ensemble de données sur l&#039;onglet &#039;&#039;&#039;Source existante&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithField2.png]]&lt;br /&gt;
&lt;br /&gt;
Validez votre sélection en passant à l&#039;étape suivante.&lt;br /&gt;
&lt;br /&gt;
==Etape 3 : Champ==&lt;br /&gt;
&lt;br /&gt;
La liste des champs disponibles de la base de données &#039;&#039;&#039;biolife.cds&#039;&#039;&#039; est maintenant présentée. Sélectionnez le champ &#039;&#039;&#039;Category&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithField3.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Suivant&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Etape 4 : Options==&lt;br /&gt;
&lt;br /&gt;
Vous êtes invité à préciser si un navigateur de source de données doit être créé avec votre expression de liaison. &lt;br /&gt;
&lt;br /&gt;
Choisissez d&#039;ajouter un navigateur de source de données pour cet exemple.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithField4.png]]&lt;br /&gt;
&lt;br /&gt;
Cliquez sur &#039;&#039;&#039;Terminer&#039;&#039;&#039; car c&#039;est la dernière page de l&#039;expert. &lt;br /&gt;
&lt;br /&gt;
Dès que l&#039;expert est fermé, une nouvelle expression de liaison est créée. Elle lie le contrôle libellé et le champ &#039;&#039;&#039;Category&#039;&#039;&#039; de l&#039;ensemble de données spécifié.&lt;br /&gt;
&lt;br /&gt;
==Les résultats==&lt;br /&gt;
&lt;br /&gt;
Dès que l&#039;expert est fermé et que vous êtes revenu dans le concepteur de l&#039;EDI, vous constatez que deux nouveaux composants associés au moteur LiveBindings ont été ajoutés (&#039;&#039;&#039;TBindingsList&#039;&#039;&#039; et &#039;&#039;&#039;TBindScopeDB&#039;&#039;&#039;) ainsi qu&#039;un composant &#039;&#039;&#039;TBindNavigator&#039;&#039;&#039;. Pour afficher la boîte de dialogue [[Editeur d&#039;expressions de liaison|Editeur d&#039;expressions de liaison]], double-cliquez sur le composant &#039;&#039;&#039;BindingsList1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithFieldBindingsList.png]]&lt;br /&gt;
&lt;br /&gt;
Exécutez maintenant l&#039;application (appuyez sur &#039;&#039;&#039;F9&#039;&#039;&#039;) et testez votre expression de liaison en parcourant les enregistrements de l&#039;ensemble de données. Vous devriez constater que le libellé est mis à jour correctement.&lt;br /&gt;
&lt;br /&gt;
Un écran de l&#039;exécution de l&#039;application est présenté ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Image:LBTLinkControlWithFieldResults.png]]&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* [[LiveBindings dans RAD Studio|LiveBindings dans RAD Studio]]&lt;br /&gt;
* [[Expert LiveBindings|Expert LiveBindings]]&lt;br /&gt;
* [[Liaison d&#039;un contrôle à une propriété de composant|Liaison d&#039;un contrôle à une propriété de composant]]&lt;br /&gt;
* [[Liaison d&#039;une propriété d&#039;un composant à un contrôle|Liaison d&#039;une propriété d&#039;un composant à un contrôle]]&lt;br /&gt;
* [[Liaison d&#039;une propriété d&#039;un composant à un champ|Liaison d&#039;une propriété d&#039;un composant à un champ]]&lt;br /&gt;
* [[Création d&#039;une source de données (Expert LiveBindings)|Création d&#039;une source de données]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:XE3]]&lt;br /&gt;
[[Category:LiveBindings]]&lt;br /&gt;
[[Category:Référence RAD Studio]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9veloppement_d%27applications_DataSnap&amp;diff=213677</id>
		<title>Développement d&#039;applications DataSnap</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9veloppement_d%27applications_DataSnap&amp;diff=213677"/>
		<updated>2020-07-29T10:17:40Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Types d&#039;applications principaux}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{f|radstudio|&lt;br /&gt;
La technologie &#039;&#039;&#039;DataSnap&#039;&#039;&#039; continue à évoluer au fur et à mesure que les demandes d&#039;une informatique distribuée augmentent. La technologie sous-jacente à DataSnap a été déplacée au-delà de l&#039;approche des données distantes à travers Microsoft COM/DCOM vers une approche de communication plus ouverte, basée sur TCP/IP. Cette évolution a permis à la technologie DataSnap d&#039;étendre ses capacités afin d&#039;inclure une technologie middleware complète. L&#039;une des fonctionnalités clés de la technologie est sa &#039;&#039;&#039;rapidité&#039;&#039;&#039; : rapide à construire, rapide à déployer et rapide à exécuter en production.&lt;br /&gt;
&lt;br /&gt;
DataSnap a maintenant des capacités étendues, permettant à la technologie de fonctionner au sein de la plupart des infrastructures basées sur les standards. Tandis que le dernier DataSnap a toujours une compatibilité descendante avec l&#039;approche COM/DCOM, il a maintenant la capacité de communiquer nativement à travers TCP/IP et alternativement à travers HTTP ou HTTPS. En même temps, la logique métier trouvée dans les serveurs DataSnap peut être diffusée en tant que services RESTful.&lt;br /&gt;
}}{{f|appmethod|&lt;br /&gt;
La technologie &#039;&#039;&#039;DataSnap&#039;&#039;&#039; continue à évoluer au fur et à mesure que les demandes d&#039;une informatique distribuée augmentent. La technologie sous-jacente à DataSnap a évolué et est passée d&#039;une approche d&#039;accès aux données distantes via Microsoft COM/DCOM à une approche de communication plus ouverte, basée sur les services RESTful. Cette évolution a permis à la technologie DataSnap d&#039;étendre ses capacités afin d&#039;inclure une technologie middleware complète. L&#039;une des fonctionnalités clés de la technologie est sa &#039;&#039;&#039;rapidité&#039;&#039;&#039; : rapide à construire, rapide à déployer et rapide à exécuter en production.&lt;br /&gt;
&lt;br /&gt;
DataSnap a maintenant des capacités étendues, permettant à la technologie de fonctionner au sein de la plupart des infrastructures basées sur les standards. Tandis que le dernier DataSnap a toujours une compatibilité descendante avec l&#039;approche COM/DCOM, il a maintenant la capacité de communiquer nativement à travers HTTP ou HTTPS.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation ou le déploiement de la technologie DataSnap ne requiert aucun frais supplémentaire.&lt;br /&gt;
&lt;br /&gt;
==Présentation détaillée de DataSnap==&lt;br /&gt;
&lt;br /&gt;
[[Image:DataSnapArch.png]]&lt;br /&gt;
&lt;br /&gt;
{{f|radstudio|&lt;br /&gt;
&lt;br /&gt;
===Connecteurs DataSnap pour les périphériques mobiles===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant créer des applications pour les périphériques mobiles tels que l&#039;iPhone (iOS) et les périphériques Android (Java), Blackberry (Java) et Windows Phone 7 (C# Silverlight).&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
&lt;br /&gt;
*[[Introduction aux connecteurs mobiles DataSnap|Introduction aux connecteurs mobiles DataSnap]]&lt;br /&gt;
** [[Introduction au connecteur mobile iOS Objective-C DataSnap|Introduction au connecteur mobile iOS Objective-C DataSnap]]&lt;br /&gt;
** [[Introduction au connecteur mobile CSharp Silverlight DataSnap|Introduction au connecteur mobile CSharp Silverlight DataSnap]]&lt;br /&gt;
** [[Introduction au connecteur mobile Java Android DataSnap|Introduction au connecteur mobile Java Android DataSnap]]&lt;br /&gt;
** [[Introduction au connecteur mobile Java BlackBerry DataSnap|Introduction au connecteur mobile Java BlackBerry DataSnap]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Exemple de code DataSnap Proxy===&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple de code {{Delphi}} &#039;&#039;&#039;[[samp_en:DSProxyGenerator (Delphi)|DSProxyGenerator_({{Delphi}})]]&#039;&#039;&#039; illustre comment générer un proxy client DataSnap à l&#039;exécution.&lt;br /&gt;
&amp;lt;f s=&amp;quot;radstudio&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Applications exemple DataSnap disponibles dans l&#039;installation de votre produit===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver des applications exemple &#039;&#039;&#039;DataSnap&#039;&#039;&#039; (installées avec {{Product}}) en choisissant {{SamplesMenu}}. Les dossiers présentant un intérêt sont {{Path|\Object Pascal\DataSnap\}}, contenant les démos multiplates-formes &#039;&#039;&#039;DataSnap&#039;&#039;&#039;. Ces exemples DataSnap sont appelés, par leur nom de dossier :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;[[samp_en:DataSnap.Basic DataSnap Client and Server Sample|DataSnap\Basic -- Exemple Basic DataSnap Client and Server]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[samp_en:DataSnap.EchoToChannel Sample|DataSnap\EchoToChannel -- Exemple EchoToChannel]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vous trouverez aussi des fichiers &#039;&#039;&#039;Readme.htm&#039;&#039;&#039; (dans les sous-dossiers &#039;&#039;&#039;DataSnap&#039;&#039;&#039;) qui fournissent des informations utiles sur les démos multiplates-formes DataSnap.&lt;br /&gt;
&lt;br /&gt;
Le source des exemples DataSnap de l&#039;installation de votre produit est archivé dans un référentiel Subversion public résidant sur {{CodeSamplesRepositories}}:&lt;br /&gt;
Pour extraire une copie du référentiel Subversion contenant les applications exemple DataSnap, suivez le [{{demosurl}} lien d&#039;extraction Subversion].  En outre, vous pouvez valider les modifications apportées aux exemples, et mettre aussi à jour vos copies locales pour acquérir les dernières modifications effectuées aux exemples sur {{CodeSamplesRepositories}}.&lt;br /&gt;
&lt;br /&gt;
Les vidéos suivantes fournissent plus d&#039;informations à propos de la technologie DataSnap :&lt;br /&gt;
&lt;br /&gt;
* [http://cc.embarcadero.com/javascript/play.html?u=y&amp;amp;w=1024&amp;amp;h=768&amp;amp;s=11.4MB&amp;amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27275%26file%3dAdrianAndrei_developing_multitier_datasnap.swf&amp;amp;d=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27275 Developing Multi-Tier Solutions Using DataSnap (EN)]&lt;br /&gt;
* [http://cc.embarcadero.com/javascript/play.html?u=y&amp;amp;w=1024&amp;amp;h=768&amp;amp;s=85.6MB&amp;amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27287%26file%3dJimTierney_DataSnapTooling.swf&amp;amp;d=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27287 DataSnap Tooling (EN)]&lt;br /&gt;
* [http://www.embarcadero.com/rad-in-action/datasnap-xe Building DataSnap Clients and Servers (EN)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;radstudio&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
* [[Présentation et architecture de DataSnap|Présentation et architecture de DataSnap]]{{f|radstudio|&lt;br /&gt;
* [[Prise en charge de l&#039;explorateur de données pour DataSnap|Prise en charge de l&#039;explorateur de données pour DataSnap]]}}&lt;br /&gt;
* {{f|radstudio|[[Tutoriel : Utilisation d&#039;un serveur DataSnap avec une application|Utilisation d&#039;un serveur DataSnap avec une application (Tutoriel)]]}}{{f|appmethod|[[Tutoriel : Utilisation d&#039;un serveur DataSnap REST avec une application|Utilisation d&#039;un serveur DataSnap avec une application (Tutoriel)]]}}{{f|radstudio|&lt;br /&gt;
*[[Application Serveur DataSnap|Application Serveur DataSnap]]&lt;br /&gt;
** [[Création d&#039;un serveur DataSnap|Création d&#039;un serveur DataSnap]]&lt;br /&gt;
** [[Expert Serveur DataSnap|Expert Serveur DataSnap]]}}&lt;br /&gt;
** [[Expert Application DataSnap REST|Expert Application DataSnap REST]]{{f|radstudio|&lt;br /&gt;
** [[Expert Application DataSnap WebBroker|Expert Application DataSnap WebBroker]]&lt;br /&gt;
** [[Génération de proxies de méthodes serveur DataSnap|Génération de proxies de méthodes serveur DataSnap]]}}&lt;br /&gt;
** [[Exposition des méthodes serveur DataSnap|Exposition des méthodes serveur DataSnap]]{{f|radstudio|&lt;br /&gt;
** [[Utilisation des rappels|Utilisation des rappels]]&lt;br /&gt;
** [[Cycle de vie de la classe serveur|Cycle de vie de la classe serveur]]&lt;br /&gt;
** [[Surveillance et contrôle des connexions DataSnap TCP/IP|Surveillance et contrôle des connexions DataSnap TCP/IP]]}}&lt;br /&gt;
*[[Application Client DataSnap|Application Client DataSnap]]&lt;br /&gt;
** [[Connexion du client au serveur DataSnap|Connexion du client au serveur DataSnap]]{{f|radstudio|&lt;br /&gt;
** [[Filtrage du flux d&#039;octets DataSnap|Filtrage du flux d&#039;octets DataSnap]]}}&lt;br /&gt;
** [[Vérification du certificat HTTPS|Vérification du certificat HTTPS]]&lt;br /&gt;
* [[Sérialisation des objets utilisateur|Sérialisation des objets utilisateur à l&#039;aide de JSON]]&lt;br /&gt;
*[[DataSnap REST|DataSnap REST]]&lt;br /&gt;
** [[Filtres de requêtes|Filtres de requêtes]]&lt;br /&gt;
** [[JavaScript REST Proxy|JavaScript REST Proxy]]{{f|radstudio|&lt;br /&gt;
** [[Mise en cache des paramètres DBX|Mise en cache des paramètres DBX]]}}&lt;br /&gt;
** [[Rappels avancés REST|Rappels avancés REST]]&lt;br /&gt;
** [[Authentification avec un client JavaScript|Authentification avec un client JavaScript]]&lt;br /&gt;
** [[Sessions client JavaScript|Sessions client JavaScript]]&lt;br /&gt;
** [[Protocole de messagerie DataSnap REST|Protocole de messagerie DataSnap REST]]&lt;br /&gt;
** [[Bibliothèque client REST|Bibliothèque client REST]]&lt;br /&gt;
* [[Authentification et autorisation|Authentification et autorisation]]&lt;br /&gt;
* [[Gestion des sessions côté serveur|Gestion des sessions côté serveur]]&lt;br /&gt;
*[[Environnement Cloud avec DataSnap|Environnement Cloud avec DataSnap]]&lt;br /&gt;
** [[Création d&#039;une app iOS#Support OpenSSL|Support OpenSSL]]&lt;br /&gt;
** [[Environnement Azure et Cloud avec DataSnap|Environnement Azure et Cloud avec DataSnap]]&lt;br /&gt;
** [[Environnement Amazon et Cloud avec DataSnap|Environnement Amazon et Cloud avec DataSnap]]&lt;br /&gt;
* [[Gestionnaire de déploiement|Gestionnaire de déploiement]]{{f|radstudio|&lt;br /&gt;
* [[Connecteurs DataSnap pour les périphériques mobiles|Connecteurs DataSnap pour les périphériques mobiles]]}}&lt;br /&gt;
&lt;br /&gt;
{{f|appmethod|&lt;br /&gt;
&lt;br /&gt;
===Autres produits de base de données supportés par {{Product}}===&lt;br /&gt;
&lt;br /&gt;
* [[InterBase XE3|InterBase XE3]]&lt;br /&gt;
* [[InterBase ToGo|InterBase ToGo]]&lt;br /&gt;
* [[SQLite support in Appmethod|Support SQLite dans Appmethod]]&lt;br /&gt;
&lt;br /&gt;
===[[LiveBindings in Appmethod|LiveBindings dans Appmethod]]===&lt;br /&gt;
&lt;br /&gt;
*[[Concepteur LiveBindings|Concepteur LiveBindings]]&lt;br /&gt;
** [[Synchronisation des données via LiveBindings|Synchronisation des données via LiveBindings]]&lt;br /&gt;
** [[Afficher et masquer des éléments dans le Concepteur LiveBindings|Afficher et masquer des éléments dans le Concepteur LiveBindings]]&lt;br /&gt;
** [[Zoom (mise à l&#039;échelle) du Concepteur LiveBindings|Zoom (mise à l&#039;échelle) du Concepteur LiveBindings]]&lt;br /&gt;
** [[Enregistrement du diagramme LiveBindings en tant qu&#039;image|Enregistrement du diagramme LiveBindings en tant qu&#039;image]]&lt;br /&gt;
** [[Utilisation des couches dans le Concepteur LiveBindings|Utilisation des couches dans le Concepteur LiveBindings]]&lt;br /&gt;
* [[Expert LiveBindings|Expert LiveBindings]]&lt;br /&gt;
* [[Création de LiveBindings|Création de LiveBindings]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* {{f|radstudio|[[Tutoriel : Utilisation d&#039;un serveur DataSnap avec une application|Tutoriel : Utilisation d&#039;un serveur DataSnap avec une application]]}}{{f|appmethod|[[Tutoriel : Utilisation d&#039;un serveur DataSnap REST avec une application|Tutorial: Utilisation d&#039;un serveur DataSnap REST avec une application]]}}{{f|radstudio|&lt;br /&gt;
* [[Tutoriel : Application DataSnap utilisant un serveur ISAPI DLL|Tutoriel : Application DataSnap utilisant un serveur ISAPI DLL]]}}{{f|appmethod|&lt;br /&gt;
* [[Tutoriel : Utilisation de LiveBindings pour créer une application sans code|Tutoriel : Utilisation de LiveBindings pour créer une application sans code]]}}{{f|radstudio|&lt;br /&gt;
* [http://www.embarcadero.com/rad-in-action/datasnap-xe Vidéos : Building DataSnap Clients and Servers, par Bob Swart (EN)]&lt;br /&gt;
* [http://cc.embarcadero.com/javascript/play.html?u=y&amp;amp;w=1024&amp;amp;h=768&amp;amp;s=11.4MB&amp;amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27275%26file%3dAdrianAndrei_developing_multitier_datasnap.swf&amp;amp;d=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27275 Vidéo : Developing Multi-Tier Solutions Using DataSnap, par Adrian Andrei (EN)]&lt;br /&gt;
* [http://cc.embarcadero.com/javascript/play.html?u=y&amp;amp;w=1024&amp;amp;h=768&amp;amp;s=85.6MB&amp;amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27287%26file%3dJimTierney_DataSnapTooling.swf&amp;amp;d=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27287 Vidéo : DataSnap Tooling, par Jim Tierney (EN)]&lt;br /&gt;
*[http://www.embarcadero.com/rad-in-action/delphi-labs Vidéos : {{Delphi}} Labs, par Paweł Głowacki (EN)]&lt;br /&gt;
* [[Creating multi-tiered applications Index|Création d&#039;applications multiniveaux]]&lt;br /&gt;
* [[Présentation des applications de bases de données multiniveaux|Présentation des applications de bases de données multiniveaux]]&lt;br /&gt;
* [[Connexion au serveur d&#039;applications à l&#039;aide de composants DataSnap|Connexion au serveur d&#039;applications à l&#039;aide de composants DataSnap]]&lt;br /&gt;
* [[Contrôles Serveur DataSnap|Contrôles Serveur DataSnap]]&lt;br /&gt;
* [[Contrôles Client DataSnap|Contrôles Client DataSnap]]}}&lt;br /&gt;
* [[lib_fr:Datasnap.DSConnect.TDSProviderConnection|Datasnap.DSConnect.TDSProviderConnection]]&lt;br /&gt;
* [[lib_fr:Datasnap.DSServer|Datasnap.DSServer]]&lt;br /&gt;
* [[lib_fr:Datasnap.DSNames|Datasnap.DSNames]]&lt;br /&gt;
* [[lib_fr:Datasnap.DSCommonServer|Datasnap.DSCommonServer]]&lt;br /&gt;
&lt;br /&gt;
===Exemples de code et applications exemple DataSnap===&lt;br /&gt;
&lt;br /&gt;
* [[samp_en:DSProxyGenerator (Delphi)|Exemple de code : DSProxyGenerator ({{Delphi}})]]{{f|radstudio|&lt;br /&gt;
* [[samp_en:DataSnap.Basic DataSnap Client and Server Sample|Exemple DataSnap.Basic DataSnap Client and Server]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:Référence DataSnap]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9veloppement_d%27applications_DataSnap&amp;diff=213678</id>
		<title>Développement d&#039;applications DataSnap</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/f/index.php?title=D%C3%A9veloppement_d%27applications_DataSnap&amp;diff=213678"/>
		<updated>2020-07-29T10:17:26Z</updated>

		<summary type="html">&lt;p&gt;Yukikoi : 1 révision importée : LOC-23340&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Types d&#039;applications principaux}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{f|radstudio|&lt;br /&gt;
La technologie &#039;&#039;&#039;DataSnap&#039;&#039;&#039; continue à évoluer au fur et à mesure que les demandes d&#039;une informatique distribuée augmentent. La technologie sous-jacente à DataSnap a été déplacée au-delà de l&#039;approche des données distantes à travers Microsoft COM/DCOM vers une approche de communication plus ouverte, basée sur TCP/IP. Cette évolution a permis à la technologie DataSnap d&#039;étendre ses capacités afin d&#039;inclure une technologie middleware complète. L&#039;une des fonctionnalités clés de la technologie est sa &#039;&#039;&#039;rapidité&#039;&#039;&#039; : rapide à construire, rapide à déployer et rapide à exécuter en production.&lt;br /&gt;
&lt;br /&gt;
DataSnap a maintenant des capacités étendues, permettant à la technologie de fonctionner au sein de la plupart des infrastructures basées sur les standards. Tandis que le dernier DataSnap a toujours une compatibilité descendante avec l&#039;approche COM/DCOM, il a maintenant la capacité de communiquer nativement à travers TCP/IP et alternativement à travers HTTP ou HTTPS. En même temps, la logique métier trouvée dans les serveurs DataSnap peut être diffusée en tant que services RESTful.&lt;br /&gt;
}}{{f|appmethod|&lt;br /&gt;
La technologie &#039;&#039;&#039;DataSnap&#039;&#039;&#039; continue à évoluer au fur et à mesure que les demandes d&#039;une informatique distribuée augmentent. La technologie sous-jacente à DataSnap a évolué et est passée d&#039;une approche d&#039;accès aux données distantes via Microsoft COM/DCOM à une approche de communication plus ouverte, basée sur les services RESTful. Cette évolution a permis à la technologie DataSnap d&#039;étendre ses capacités afin d&#039;inclure une technologie middleware complète. L&#039;une des fonctionnalités clés de la technologie est sa &#039;&#039;&#039;rapidité&#039;&#039;&#039; : rapide à construire, rapide à déployer et rapide à exécuter en production.&lt;br /&gt;
&lt;br /&gt;
DataSnap a maintenant des capacités étendues, permettant à la technologie de fonctionner au sein de la plupart des infrastructures basées sur les standards. Tandis que le dernier DataSnap a toujours une compatibilité descendante avec l&#039;approche COM/DCOM, il a maintenant la capacité de communiquer nativement à travers HTTP ou HTTPS.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation ou le déploiement de la technologie DataSnap ne requiert aucun frais supplémentaire.&lt;br /&gt;
&lt;br /&gt;
==Présentation détaillée de DataSnap==&lt;br /&gt;
&lt;br /&gt;
[[Image:DataSnapArch.png]]&lt;br /&gt;
&lt;br /&gt;
{{f|radstudio|&lt;br /&gt;
&lt;br /&gt;
===Connecteurs DataSnap pour les périphériques mobiles===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant créer des applications pour les périphériques mobiles tels que l&#039;iPhone (iOS) et les périphériques Android (Java), Blackberry (Java) et Windows Phone 7 (C# Silverlight).&lt;br /&gt;
&lt;br /&gt;
Pour de plus amples informations, voir :&lt;br /&gt;
&lt;br /&gt;
*[[Introduction aux connecteurs mobiles DataSnap|Introduction aux connecteurs mobiles DataSnap]]&lt;br /&gt;
** [[Introduction au connecteur mobile iOS Objective-C DataSnap|Introduction au connecteur mobile iOS Objective-C DataSnap]]&lt;br /&gt;
** [[Introduction au connecteur mobile CSharp Silverlight DataSnap|Introduction au connecteur mobile CSharp Silverlight DataSnap]]&lt;br /&gt;
** [[Introduction au connecteur mobile Java Android DataSnap|Introduction au connecteur mobile Java Android DataSnap]]&lt;br /&gt;
** [[Introduction au connecteur mobile Java BlackBerry DataSnap|Introduction au connecteur mobile Java BlackBerry DataSnap]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Exemple de code DataSnap Proxy===&lt;br /&gt;
&lt;br /&gt;
L&#039;exemple de code {{Delphi}} &#039;&#039;&#039;[[samp_en:DSProxyGenerator (Delphi)|DSProxyGenerator_({{Delphi}})]]&#039;&#039;&#039; illustre comment générer un proxy client DataSnap à l&#039;exécution.&lt;br /&gt;
&amp;lt;f s=&amp;quot;radstudio&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Applications exemple DataSnap disponibles dans l&#039;installation de votre produit===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver des applications exemple &#039;&#039;&#039;DataSnap&#039;&#039;&#039; (installées avec {{Product}}) en choisissant {{SamplesMenu}}. Les dossiers présentant un intérêt sont {{Path|\Object Pascal\DataSnap\}}, contenant les démos multiplates-formes &#039;&#039;&#039;DataSnap&#039;&#039;&#039;. Ces exemples DataSnap sont appelés, par leur nom de dossier :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;[[samp_en:DataSnap.Basic DataSnap Client and Server Sample|DataSnap\Basic -- Exemple Basic DataSnap Client and Server]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[samp_en:DataSnap.EchoToChannel Sample|DataSnap\EchoToChannel -- Exemple EchoToChannel]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vous trouverez aussi des fichiers &#039;&#039;&#039;Readme.htm&#039;&#039;&#039; (dans les sous-dossiers &#039;&#039;&#039;DataSnap&#039;&#039;&#039;) qui fournissent des informations utiles sur les démos multiplates-formes DataSnap.&lt;br /&gt;
&lt;br /&gt;
Le source des exemples DataSnap de l&#039;installation de votre produit est archivé dans un référentiel Subversion public résidant sur {{CodeSamplesRepositories}}:&lt;br /&gt;
Pour extraire une copie du référentiel Subversion contenant les applications exemple DataSnap, suivez le [{{demosurl}} lien d&#039;extraction Subversion].  En outre, vous pouvez valider les modifications apportées aux exemples, et mettre aussi à jour vos copies locales pour acquérir les dernières modifications effectuées aux exemples sur {{CodeSamplesRepositories}}.&lt;br /&gt;
&lt;br /&gt;
Les vidéos suivantes fournissent plus d&#039;informations à propos de la technologie DataSnap :&lt;br /&gt;
&lt;br /&gt;
* [http://cc.embarcadero.com/javascript/play.html?u=y&amp;amp;w=1024&amp;amp;h=768&amp;amp;s=11.4MB&amp;amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27275%26file%3dAdrianAndrei_developing_multitier_datasnap.swf&amp;amp;d=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27275 Developing Multi-Tier Solutions Using DataSnap (EN)]&lt;br /&gt;
* [http://cc.embarcadero.com/javascript/play.html?u=y&amp;amp;w=1024&amp;amp;h=768&amp;amp;s=85.6MB&amp;amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27287%26file%3dJimTierney_DataSnapTooling.swf&amp;amp;d=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27287 DataSnap Tooling (EN)]&lt;br /&gt;
* [http://www.embarcadero.com/rad-in-action/datasnap-xe Building DataSnap Clients and Servers (EN)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;f e=&amp;quot;radstudio&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rubriques==&lt;br /&gt;
&lt;br /&gt;
* [[Présentation et architecture de DataSnap|Présentation et architecture de DataSnap]]{{f|radstudio|&lt;br /&gt;
* [[Prise en charge de l&#039;explorateur de données pour DataSnap|Prise en charge de l&#039;explorateur de données pour DataSnap]]}}&lt;br /&gt;
* {{f|radstudio|[[Tutoriel : Utilisation d&#039;un serveur DataSnap avec une application|Utilisation d&#039;un serveur DataSnap avec une application (Tutoriel)]]}}{{f|appmethod|[[Tutoriel : Utilisation d&#039;un serveur DataSnap REST avec une application|Utilisation d&#039;un serveur DataSnap avec une application (Tutoriel)]]}}{{f|radstudio|&lt;br /&gt;
*[[Application Serveur DataSnap|Application Serveur DataSnap]]&lt;br /&gt;
** [[Création d&#039;un serveur DataSnap|Création d&#039;un serveur DataSnap]]&lt;br /&gt;
** [[Expert Serveur DataSnap|Expert Serveur DataSnap]]}}&lt;br /&gt;
** [[Expert Application DataSnap REST|Expert Application DataSnap REST]]{{f|radstudio|&lt;br /&gt;
** [[Expert Application DataSnap WebBroker|Expert Application DataSnap WebBroker]]&lt;br /&gt;
** [[Génération de proxies de méthodes serveur DataSnap|Génération de proxies de méthodes serveur DataSnap]]}}&lt;br /&gt;
** [[Exposition des méthodes serveur DataSnap|Exposition des méthodes serveur DataSnap]]{{f|radstudio|&lt;br /&gt;
** [[Utilisation des rappels|Utilisation des rappels]]&lt;br /&gt;
** [[Cycle de vie de la classe serveur|Cycle de vie de la classe serveur]]&lt;br /&gt;
** [[Surveillance et contrôle des connexions DataSnap TCP/IP|Surveillance et contrôle des connexions DataSnap TCP/IP]]}}&lt;br /&gt;
*[[Application Client DataSnap|Application Client DataSnap]]&lt;br /&gt;
** [[Connexion du client au serveur DataSnap|Connexion du client au serveur DataSnap]]{{f|radstudio|&lt;br /&gt;
** [[Filtrage du flux d&#039;octets DataSnap|Filtrage du flux d&#039;octets DataSnap]]}}&lt;br /&gt;
** [[Vérification du certificat HTTPS|Vérification du certificat HTTPS]]&lt;br /&gt;
* [[Sérialisation des objets utilisateur|Sérialisation des objets utilisateur à l&#039;aide de JSON]]&lt;br /&gt;
*[[DataSnap REST|DataSnap REST]]&lt;br /&gt;
** [[Filtres de requêtes|Filtres de requêtes]]&lt;br /&gt;
** [[JavaScript REST Proxy|JavaScript REST Proxy]]{{f|radstudio|&lt;br /&gt;
** [[Mise en cache des paramètres DBX|Mise en cache des paramètres DBX]]}}&lt;br /&gt;
** [[Rappels avancés REST|Rappels avancés REST]]&lt;br /&gt;
** [[Authentification avec un client JavaScript|Authentification avec un client JavaScript]]&lt;br /&gt;
** [[Sessions client JavaScript|Sessions client JavaScript]]&lt;br /&gt;
** [[Protocole de messagerie DataSnap REST|Protocole de messagerie DataSnap REST]]&lt;br /&gt;
** [[Bibliothèque client REST|Bibliothèque client REST]]&lt;br /&gt;
* [[Authentification et autorisation|Authentification et autorisation]]&lt;br /&gt;
* [[Gestion des sessions côté serveur|Gestion des sessions côté serveur]]&lt;br /&gt;
*[[Environnement Cloud avec DataSnap|Environnement Cloud avec DataSnap]]&lt;br /&gt;
** [[Création d&#039;une app iOS#Support OpenSSL|Support OpenSSL]]&lt;br /&gt;
** [[Environnement Azure et Cloud avec DataSnap|Environnement Azure et Cloud avec DataSnap]]&lt;br /&gt;
** [[Environnement Amazon et Cloud avec DataSnap|Environnement Amazon et Cloud avec DataSnap]]&lt;br /&gt;
* [[Gestionnaire de déploiement|Gestionnaire de déploiement]]{{f|radstudio|&lt;br /&gt;
* [[Connecteurs DataSnap pour les périphériques mobiles|Connecteurs DataSnap pour les périphériques mobiles]]}}&lt;br /&gt;
&lt;br /&gt;
{{f|appmethod|&lt;br /&gt;
&lt;br /&gt;
===Autres produits de base de données supportés par {{Product}}===&lt;br /&gt;
&lt;br /&gt;
* [[InterBase XE3|InterBase XE3]]&lt;br /&gt;
* [[InterBase ToGo|InterBase ToGo]]&lt;br /&gt;
* [[SQLite support in Appmethod|Support SQLite dans Appmethod]]&lt;br /&gt;
&lt;br /&gt;
===[[LiveBindings in Appmethod|LiveBindings dans Appmethod]]===&lt;br /&gt;
&lt;br /&gt;
*[[Concepteur LiveBindings|Concepteur LiveBindings]]&lt;br /&gt;
** [[Synchronisation des données via LiveBindings|Synchronisation des données via LiveBindings]]&lt;br /&gt;
** [[Afficher et masquer des éléments dans le Concepteur LiveBindings|Afficher et masquer des éléments dans le Concepteur LiveBindings]]&lt;br /&gt;
** [[Zoom (mise à l&#039;échelle) du Concepteur LiveBindings|Zoom (mise à l&#039;échelle) du Concepteur LiveBindings]]&lt;br /&gt;
** [[Enregistrement du diagramme LiveBindings en tant qu&#039;image|Enregistrement du diagramme LiveBindings en tant qu&#039;image]]&lt;br /&gt;
** [[Utilisation des couches dans le Concepteur LiveBindings|Utilisation des couches dans le Concepteur LiveBindings]]&lt;br /&gt;
* [[Expert LiveBindings|Expert LiveBindings]]&lt;br /&gt;
* [[Création de LiveBindings|Création de LiveBindings]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Voir aussi==&lt;br /&gt;
&lt;br /&gt;
* {{f|radstudio|[[Tutoriel : Utilisation d&#039;un serveur DataSnap avec une application|Tutoriel : Utilisation d&#039;un serveur DataSnap avec une application]]}}{{f|appmethod|[[Tutoriel : Utilisation d&#039;un serveur DataSnap REST avec une application|Tutorial: Utilisation d&#039;un serveur DataSnap REST avec une application]]}}{{f|radstudio|&lt;br /&gt;
* [[Tutoriel : Application DataSnap utilisant un serveur ISAPI DLL|Tutoriel : Application DataSnap utilisant un serveur ISAPI DLL]]}}{{f|appmethod|&lt;br /&gt;
* [[Tutoriel : Utilisation de LiveBindings pour créer une application sans code|Tutoriel : Utilisation de LiveBindings pour créer une application sans code]]}}{{f|radstudio|&lt;br /&gt;
* [http://www.embarcadero.com/rad-in-action/datasnap-xe Vidéos : Building DataSnap Clients and Servers, par Bob Swart (EN)]&lt;br /&gt;
* [http://cc.embarcadero.com/javascript/play.html?u=y&amp;amp;w=1024&amp;amp;h=768&amp;amp;s=11.4MB&amp;amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27275%26file%3dAdrianAndrei_developing_multitier_datasnap.swf&amp;amp;d=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27275 Vidéo : Developing Multi-Tier Solutions Using DataSnap, par Adrian Andrei (EN)]&lt;br /&gt;
* [http://cc.embarcadero.com/javascript/play.html?u=y&amp;amp;w=1024&amp;amp;h=768&amp;amp;s=85.6MB&amp;amp;f=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27287%26file%3dJimTierney_DataSnapTooling.swf&amp;amp;d=http%3a%2f%2fcc.embarcadero.com%2fdownload.aspx%3fid%3d27287 Vidéo : DataSnap Tooling, par Jim Tierney (EN)]&lt;br /&gt;
*[http://www.embarcadero.com/rad-in-action/delphi-labs Vidéos : {{Delphi}} Labs, par Paweł Głowacki (EN)]&lt;br /&gt;
* [[Creating multi-tiered applications Index|Création d&#039;applications multiniveaux]]&lt;br /&gt;
* [[Présentation des applications de bases de données multiniveaux|Présentation des applications de bases de données multiniveaux]]&lt;br /&gt;
* [[Connexion au serveur d&#039;applications à l&#039;aide de composants DataSnap|Connexion au serveur d&#039;applications à l&#039;aide de composants DataSnap]]&lt;br /&gt;
* [[Contrôles Serveur DataSnap|Contrôles Serveur DataSnap]]&lt;br /&gt;
* [[Contrôles Client DataSnap|Contrôles Client DataSnap]]}}&lt;br /&gt;
* [[lib_fr:Datasnap.DSConnect.TDSProviderConnection|Datasnap.DSConnect.TDSProviderConnection]]&lt;br /&gt;
* [[lib_fr:Datasnap.DSServer|Datasnap.DSServer]]&lt;br /&gt;
* [[lib_fr:Datasnap.DSNames|Datasnap.DSNames]]&lt;br /&gt;
* [[lib_fr:Datasnap.DSCommonServer|Datasnap.DSCommonServer]]&lt;br /&gt;
&lt;br /&gt;
===Exemples de code et applications exemple DataSnap===&lt;br /&gt;
&lt;br /&gt;
* [[samp_en:DSProxyGenerator (Delphi)|Exemple de code : DSProxyGenerator ({{Delphi}})]]{{f|radstudio|&lt;br /&gt;
* [[samp_en:DataSnap.Basic DataSnap Client and Server Sample|Exemple DataSnap.Basic DataSnap Client and Server]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:Référence DataSnap]]&lt;/div&gt;</summary>
		<author><name>Yukikoi</name></author>
	</entry>
</feed>