<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fabiola.Arias</id>
	<title>RAD Studio - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fabiola.Arias"/>
	<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/de/Spezial:Beitr%C3%A4ge/Fabiola.Arias"/>
	<updated>2026-08-30T18:41:21Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215189</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215189"/>
		<updated>2023-05-31T17:10:24Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: RS-91380&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Hauptseite}}&lt;br /&gt;
&lt;br /&gt;
In diesem Thema wird die Installation, Aktualisierung oder das Löschen von {{Product}} beschrieben.&lt;br /&gt;
&lt;br /&gt;
==Installieren von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
===Vor der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Auf der Seite &#039;&#039;&#039;[[Installationshinweise|Installationshinweise]]&#039;&#039;&#039; sind die Systemanforderungen von {{Product}} und andere Informationen beschrieben, die Sie vor der Installation von {{Product}} kennen müssen.&lt;br /&gt;
&lt;br /&gt;
Sie können {{Product}} {{Version}} auf Ihrem System, auf dem frühere Versionen von {{Product}} installiert sind, installieren. Beachten Sie jedoch, dass jede Version von {{Product}} Ihre [http://www.computerhope.com/issues/ch000549.htm {{Code|PATH}}-Umgebungsvariable (EN)] erweitert, die [[Installationshinweise#Voraussetzungen für unterstützte Zielplattformen|nicht länger als 1830 Zeichen sein kann]], bevor Sie {{Product}} {{Version}} installieren.&lt;br /&gt;
&lt;br /&gt;
===Auswählen eines Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
{{Product}} kann entweder mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; oder dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert werden.&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;[[Installationsprogramm|Installationsprogramm]]&#039;&#039;&#039; ist in den meisten Fällen am geeignetsten, da es Folgendes bietet:&lt;br /&gt;
&lt;br /&gt;
* Deutlich kürzere Installationsdauer sowie deutlich kürzere Dauer für [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Änderungen installierter Features]] nach der Erstinstallation.&lt;br /&gt;
* Höhere Flexibilität bei der Auswahl von Features:&lt;br /&gt;
** Sie müssen keine Unterstützung für die 32-Bit-Windows-Zielplattform installieren.&lt;br /&gt;
** Sie können bestimmte Kombinationen von Zielplattformen und Programmiersprachen auswählen, anstatt Programmiersprachen und Zielplattformen einzeln auszuwählen.&lt;br /&gt;
** Sie können nach der Installation die Unterstützung für jede beliebige Programmiersprache entfernen.&lt;br /&gt;
* Geringere Größe des Installationsprogramms: 0,2 GB. Alles Weitere wird bei Bedarf, ja nach den Features, die Sie installieren, heruntergeladen. Außerdem müssen Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; nach der Erstinstallation nicht beibehalten, die installierten Features ändern Sie [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|in der IDE]].&lt;br /&gt;
* Höhere Benutzerfreundlichkeit. Die Installationsschritte sind einfacher.&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie jedoch das &#039;&#039;&#039;[[Offline-Installationsprogramm|Offline-Installationsprogramm]]&#039;&#039;&#039;, wenn:&lt;br /&gt;
&lt;br /&gt;
* Der Computer, auf dem Sie {{Product}} installieren möchten, über keine aktive Internet-Verbindung verfügt.&lt;br /&gt;
* Auf dem Laufwerk, auf dem Sie {{Product}} installieren möchten, nicht ausreichend Speicherplatz für die Speicherung von Zwischenspeicherdateien verfügbar ist. Im &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; können Sie [[Verwenden des Offline-Installationsprogramms#Konfigurieren des temporären Speicherordners|den temporären Speicherordner anpassen]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; verwenden, ist der &#039;&#039;&#039;[[Feature-Manager|Feature-Manager]]&#039;&#039;&#039; ({{Menu|Tools &amp;amp;gt; Plattformen verwalten}}) nicht auf Ihrem {{Product}}-Installationsprogramm verfügbar.}}&lt;br /&gt;
&lt;br /&gt;
===Ausführen des ausgewählten Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Installationsprogramms|Verwenden des Installationsprogramms]]&#039;&#039;&#039; aus.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Offline-Installationsprogramms|Verwenden des Offline-Installationsprogramms]]&#039;&#039;&#039; aus.&lt;br /&gt;
&lt;br /&gt;
===Nach der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Abschnitte beschreiben einige Schritte, denen Sie nach der Installation von {{Product}} {{Version}} folgen könnten.&lt;br /&gt;
&lt;br /&gt;
====Importieren von Einstellung einer früheren Version====&lt;br /&gt;
&lt;br /&gt;
Wenn auf Ihrem System eine frühere Version von {{Product}} installiert ist, verwenden Sie das &#039;&#039;&#039;[[Tool zum Migrieren von Einstellungen|Tool zum Migrieren von Einstellungen]]&#039;&#039;&#039;, um Ihre alten Einstellungen in Ihre {{Product}} {{Version}}-Installation zu migrieren.&lt;br /&gt;
&lt;br /&gt;
====Installieren eines neuen Platform Assistant====&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Anwendungen für &#039;&#039;&#039;OS X&#039;&#039;&#039; oder &#039;&#039;&#039;iOS&#039;&#039;&#039; bereitstellen möchten, oder wenn Sie Anwendungen für &#039;&#039;&#039;64-Bit-Windows&#039;&#039;&#039; mit einem Remote-System bereitstellen möchten, müssen Sie auf Ihrem Mac oder Remote-64-Bit-Windows-System den &#039;&#039;&#039;[[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant]]&#039;&#039;&#039;, der mit {{Product}} {{Version}} bereitgestellt wird, installieren. Sie können den &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; von einer früheren Version von {{Product}} nicht erneut verwenden.&lt;br /&gt;
&lt;br /&gt;
{{Tip|Sie können verschiedene Versionen des &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; gleichzeitig auf dem gleichen Sytstem ausführen, solange Sie verschiedene Schnittstellennummern für jede Instanz verwenden.}}&lt;br /&gt;
&lt;br /&gt;
====Vorlagedateien aktualisieren====&lt;br /&gt;
&lt;br /&gt;
Projekte für &#039;&#039;&#039;OS X&#039;&#039;&#039;, &#039;&#039;&#039;iOS&#039;&#039;&#039; oder &#039;&#039;&#039;Android&#039;&#039;&#039; enthalten Vorlagedateien, mit denen Sie bestimmte Aspekte Ihrer Anwendung für diese Plattformen anpassen können. Wenn Sie ein Projekt von einer früheren Version von {{Product}} zu {{Product}} {{Version}} migrieren, müssen Sie:&lt;br /&gt;
&lt;br /&gt;
# Eine Sicherung jeder angepassten Vorlagedatei erstellen, damit Sie Ihre angepassten Änderungen später überprüfen können.&lt;br /&gt;
# Alle Vorlagendateien von Ihrem Projektordner entfernen.&lt;br /&gt;
# Ihre Anwendung für jede Zielplattform erstellen (Android) oder bereitstellen (OS X, iOS), damit {{Product}} {{Version}} automatisch eine  aktuelle Version jeder Vorlagedatei generiert.&lt;br /&gt;
# Die neuen Vorlagedateien bearbeiten, um Ihre benutzerdefinierten Änderungen anzuwenden, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen finden Sie unter:&lt;br /&gt;
&lt;br /&gt;
* [[Vorbereiten von Android-Anwendungen für die Bereitstellung#Neu Erstellen der AndroidManifest.template.xml-Datei|Neu Erstellen der AndroidManifest.template.xml-Datei]]&lt;br /&gt;
* [[Anpassen der Datei info.plist#Neu Erstellen der info.plist-Vorlagendateien|Neu Erstellen der info.plist-Vorlagendateien]] ({{Path|info.plist.TemplateOSX.xml}}, {{Path|info.plist.TemplateiOS.xml}})&lt;br /&gt;
* [[Berechtigungsliste#Anpassen von Berechtigungslisten für iOS oder OS X|Anpassen von Berechtigungslisten für iOS oder OS X]] ({{Path|Entitlement.TemplateOSX.xml}}, {{Path|Entitlement.TemplateiOS.xml}})&lt;br /&gt;
&lt;br /&gt;
==Hinzufügen und Entfernen von Features nach der Installation==&lt;br /&gt;
&lt;br /&gt;
Bei der Installation von {{Product}} können Sie verschiedene Features aktivieren oder deaktivieren: Unterstützung für Programmiersprachen, Unterstützung für Zielplattformen, Sprachpakete usw. Sie können jedes dieser Features auch nach der Installation hinzufügen oder entfernen.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Hinzufügen und Entfernen von Features mit dem Feature-Manager]]&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm|Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Entfernen von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer mit Administratorrechten, der {{Product}} anfänglich installiert hat, kann {{Product}} entsprechend den in der Windows-Dokumentation beschriebenen Schritten entfernen:&lt;br /&gt;
&lt;br /&gt;
* Windows 10: [http://windows.microsoft.com/en-us/windows-10/repair-or-remove-programs Repair or remove programs (EN)]&lt;br /&gt;
* Windows 8 und 8.1: [http://windows.microsoft.com/en-us/windows-8/uninstall-change-program Uninstall, change, or repair a program (EN)] &lt;br /&gt;
* Windows 7: [http://windows.microsoft.com/en-us/windows/uninstall-change-program#uninstall-change-program=windows-7 Uninstall or change a program (EN)]&lt;br /&gt;
&lt;br /&gt;
===Entfernen von {{Product}}-Instanzen, die Netzwerklizenzen verwenden===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} muss jeder Benutzer, der nicht der Administrator ist, benutzerspezifische Daten aus der Windows-Registrierung entfernen:&lt;br /&gt;
&lt;br /&gt;
# Melden Sie sich bei Ihrem Benutzerkonto an.&lt;br /&gt;
# Erstellen Sie eine Sicherung der Registrierung.&lt;br /&gt;
# Rufen Sie &amp;quot;Regedit&amp;quot; oder ein anderes Tool für die Bearbeitung der Registrierung auf.&lt;br /&gt;
# Löschen Sie den folgenden Registrierungsschlüssel:&lt;br /&gt;
#: {{Code|HKEY_CURRENT_USER\Software\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
===Entfernen von Konfigurationsdateien===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} können benutzerspezifische Daten, wie etwa Standardprojekteinstellungen, in Konfigurationsdateien erhalten bleiben. Sie sollten diese Ordner manuell entfernen:&lt;br /&gt;
&lt;br /&gt;
* {{Path|All Users\Application Data\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
* {{Path|All Users\Shared Documents\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
==Aktualisierung von {{Product}} {{Version}}==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Um eine andere Version von {{Product}} zu installieren, müssen Sie diese Schritte nicht ausführen. Verschiedene Versionen von {{Product}} können auf demselben System installiert sein.}}&lt;br /&gt;
&lt;br /&gt;
Um {{Product}} {{Version}} durch eine bessere Edition oder eine aktualisierung von {{Product}} {{Version}} zu ersetzen, müssen Sie {{Product}} {{Version}} von Ihrem System [[#Entfernen von RAD Studio|entfernen]] und die aktualisierte Edition oder die aktualisierung von {{Product}} {{Version}} [[#Installieren von RAD Studio|installieren]].&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Installieren eines Package mit dem Getlt-Package-Manager|Installieren eines Package mit dem GetIt-Package-Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Berlin]]&lt;br /&gt;
&lt;br /&gt;
[[en:Installation]]&lt;br /&gt;
[[fr:Installation]]&lt;br /&gt;
[[ja:インストール]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215188</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215188"/>
		<updated>2023-05-31T17:08:05Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: RS-91380&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Hauptseite}}&lt;br /&gt;
&lt;br /&gt;
In diesem Thema wird die Installation, Aktualisierung oder das Löschen von {{Product}} beschrieben.&lt;br /&gt;
&lt;br /&gt;
==Installieren von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
===Vor der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Auf der Seite &#039;&#039;&#039;[[Installationshinweise|Installationshinweise]]&#039;&#039;&#039; sind die Systemanforderungen von {{Product}} und andere Informationen beschrieben, die Sie vor der Installation von {{Product}} kennen müssen.&lt;br /&gt;
&lt;br /&gt;
Sie können {{Product}} {{Version}} auf Ihrem System, auf dem frühere Versionen von {{Product}} installiert sind, installieren. Beachten Sie jedoch, dass jede Version von {{Product}} Ihre [http://www.computerhope.com/issues/ch000549.htm {{Code|PATH}}-Umgebungsvariable (EN)] erweitert, die [[Installationshinweise#Voraussetzungen für unterstützte Zielplattformen|nicht länger als 1830 Zeichen sein kann]], bevor Sie {{Product}} {{Version}} installieren.&lt;br /&gt;
&lt;br /&gt;
===Auswählen eines Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
{{Product}} kann entweder mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; oder dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert werden.&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;[[Installationsprogramm|Installationsprogramm]]&#039;&#039;&#039; ist in den meisten Fällen am geeignetsten, da es Folgendes bietet:&lt;br /&gt;
&lt;br /&gt;
* Deutlich kürzere Installationsdauer sowie deutlich kürzere Dauer für [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Änderungen installierter Features]] nach der Erstinstallation.&lt;br /&gt;
* Höhere Flexibilität bei der Auswahl von Features:&lt;br /&gt;
** Sie müssen keine Unterstützung für die 32-Bit-Windows-Zielplattform installieren.&lt;br /&gt;
** Sie können bestimmte Kombinationen von Zielplattformen und Programmiersprachen auswählen, anstatt Programmiersprachen und Zielplattformen einzeln auszuwählen.&lt;br /&gt;
** Sie können nach der Installation die Unterstützung für jede beliebige Programmiersprache entfernen.&lt;br /&gt;
* Geringere Größe des Installationsprogramms: 0,2 GB. Alles Weitere wird bei Bedarf, ja nach den Features, die Sie installieren, heruntergeladen. Außerdem müssen Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; nach der Erstinstallation nicht beibehalten, die installierten Features ändern Sie [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|in der IDE]].&lt;br /&gt;
* Höhere Benutzerfreundlichkeit. Die Installationsschritte sind einfacher.&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie jedoch das &#039;&#039;&#039;[[Offline-Installationsprogramm|Offline-Installationsprogramm]]&#039;&#039;&#039;, wenn:&lt;br /&gt;
&lt;br /&gt;
* Der Computer, auf dem Sie {{Product}} installieren möchten, über keine aktive Internet-Verbindung verfügt.&lt;br /&gt;
* Auf dem Laufwerk, auf dem Sie {{Product}} installieren möchten, nicht ausreichend Speicherplatz für die Speicherung von Zwischenspeicherdateien verfügbar ist. Im &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; können Sie [[Verwenden des Offline-Installationsprogramms#Konfigurieren des temporären Speicherordners|den temporären Speicherordner anpassen]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; verwenden, ist der &#039;&#039;&#039;[[Feature-Manager|Feature-Manager]]&#039;&#039;&#039; ({{Menu|Tools &amp;amp;gt; Plattformen verwalten}}) nicht auf Ihrem {{Product}}-Installationsprogramm verfügbar.}}&lt;br /&gt;
&lt;br /&gt;
===Ausführen des ausgewählten Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Installationsprogramms|Verwenden des Installationsprogramms]]&#039;&#039;&#039; aus.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Offline-Installationsprogramms|Verwenden des Offline-Installationsprogramms]]&#039;&#039;&#039; aus.&lt;br /&gt;
&lt;br /&gt;
===Nach der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Abschnitte beschreiben einige Schritte, denen Sie nach der Installation von {{Product}} {{Version}} folgen könnten.&lt;br /&gt;
&lt;br /&gt;
====Importieren von Einstellung einer früheren Version====&lt;br /&gt;
&lt;br /&gt;
Wenn auf Ihrem System eine frühere Version von {{Product}} installiert ist, verwenden Sie das &#039;&#039;&#039;[[Tool zum Migrieren von Einstellungen|Tool zum Migrieren von Einstellungen]]&#039;&#039;&#039;, um Ihre alten Einstellungen in Ihre {{Product}} {{Version}}-Installation zu migrieren.&lt;br /&gt;
&lt;br /&gt;
====Installieren eines neuen Platform Assistant====&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Anwendungen für &#039;&#039;&#039;OS X&#039;&#039;&#039; oder &#039;&#039;&#039;iOS&#039;&#039;&#039; bereitstellen möchten, oder wenn Sie Anwendungen für &#039;&#039;&#039;64-Bit-Windows&#039;&#039;&#039; mit einem Remote-System bereitstellen möchten, müssen Sie auf Ihrem Mac oder Remote-64-Bit-Windows-System den &#039;&#039;&#039;[[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant]]&#039;&#039;&#039;, der mit {{Product}} {{Version}} bereitgestellt wird, installieren. Sie können den &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; von einer früheren Version von {{Product}} nicht erneut verwenden.&lt;br /&gt;
&lt;br /&gt;
{{Tip|Sie können verschiedene Versionen des &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; gleichzeitig auf dem gleichen Sytstem ausführen, solange Sie verschiedene Schnittstellennummern für jede Instanz verwenden.}}&lt;br /&gt;
&lt;br /&gt;
====Vorlagedateien aktualisieren====&lt;br /&gt;
&lt;br /&gt;
Projekte für &#039;&#039;&#039;OS X&#039;&#039;&#039;, &#039;&#039;&#039;iOS&#039;&#039;&#039; oder &#039;&#039;&#039;Android&#039;&#039;&#039; enthalten Vorlagedateien, mit denen Sie bestimmte Aspekte Ihrer Anwendung für diese Plattformen anpassen können. Wenn Sie ein Projekt von einer früheren Version von {{Product}} zu {{Product}} {{Version}} migrieren, müssen Sie:&lt;br /&gt;
&lt;br /&gt;
# Eine Sicherung jeder angepassten Vorlagedatei erstellen, damit Sie Ihre angepassten Änderungen später überprüfen können.&lt;br /&gt;
# Alle Vorlagendateien von Ihrem Projektordner entfernen.&lt;br /&gt;
# Ihre Anwendung für jede Zielplattform erstellen (Android) oder bereitstellen (OS X, iOS), damit {{Product}} {{Version}} automatisch eine  aktuelle Version jeder Vorlagedatei generiert.&lt;br /&gt;
# Die neuen Vorlagedateien bearbeiten, um Ihre benutzerdefinierten Änderungen anzuwenden, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen finden Sie unter:&lt;br /&gt;
&lt;br /&gt;
* [[Vorbereiten von Android-Anwendungen für die Bereitstellung#Neu Erstellen der AndroidManifest.template.xml-Datei|Neu Erstellen der AndroidManifest.template.xml-Datei]]&lt;br /&gt;
* [[Anpassen der Datei info.plist#Neu Erstellen der info.plist-Vorlagendateien|Neu Erstellen der info.plist-Vorlagendateien]] ({{Path|info.plist.TemplateOSX.xml}}, {{Path|info.plist.TemplateiOS.xml}})&lt;br /&gt;
* [[Berechtigungsliste#Anpassen von Berechtigungslisten für iOS oder OS X|Anpassen von Berechtigungslisten für iOS oder OS X]] ({{Path|Entitlement.TemplateOSX.xml}}, {{Path|Entitlement.TemplateiOS.xml}})&lt;br /&gt;
&lt;br /&gt;
==Hinzufügen und Entfernen von Features nach der Installation==&lt;br /&gt;
&lt;br /&gt;
Bei der Installation von {{Product}} können Sie verschiedene Features aktivieren oder deaktivieren: Unterstützung für Programmiersprachen, Unterstützung für Zielplattformen, Sprachpakete usw. Sie können jedes dieser Features auch nach der Installation hinzufügen oder entfernen.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Hinzufügen und Entfernen von Features mit dem Feature-Manager]]&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm|Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Entfernen von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer mit Administratorrechten, der {{Product}} anfänglich installiert hat, kann {{Product}} entsprechend den in der Windows-Dokumentation beschriebenen Schritten entfernen:&lt;br /&gt;
&lt;br /&gt;
* Windows 10: [http://windows.microsoft.com/en-us/windows-10/repair-or-remove-programs Repair or remove programs (EN)]&lt;br /&gt;
* Windows 8 und 8.1: [http://windows.microsoft.com/en-us/windows-8/uninstall-change-program Uninstall, change, or repair a program (EN)] &lt;br /&gt;
* Windows 7: [http://windows.microsoft.com/en-us/windows/uninstall-change-program#uninstall-change-program=windows-7 Uninstall or change a program (EN)]&lt;br /&gt;
&lt;br /&gt;
===Entfernen von {{Product}}-Instanzen, die Netzwerklizenzen verwenden===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} muss jeder Benutzer, der nicht der Administrator ist, benutzerspezifische Daten aus der Windows-Registrierung entfernen:&lt;br /&gt;
&lt;br /&gt;
# Melden Sie sich bei Ihrem Benutzerkonto an.&lt;br /&gt;
# Erstellen Sie eine Sicherung der Registrierung.&lt;br /&gt;
# Rufen Sie &amp;quot;Regedit&amp;quot; oder ein anderes Tool für die Bearbeitung der Registrierung auf.&lt;br /&gt;
# Löschen Sie den folgenden Registrierungsschlüssel:&lt;br /&gt;
#: {{Code|HKEY_CURRENT_USER\Software\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
===Entfernen von Konfigurationsdateien===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} können benutzerspezifische Daten, wie etwa Standardprojekteinstellungen, in Konfigurationsdateien erhalten bleiben. Sie sollten diese Ordner manuell entfernen:&lt;br /&gt;
&lt;br /&gt;
* {{Path|All Users\Application Data\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
* {{Path|All Users\Shared Documents\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
==Aktualisierung von {{Product}} {{Version}}==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Um eine andere Version von {{Product}} zu installieren, müssen Sie diese Schritte nicht ausführen. Verschiedene Versionen von {{Product}} können auf demselben System installiert sein.}}&lt;br /&gt;
&lt;br /&gt;
Um {{Product}} {{Version}} durch eine bessere Edition oder eine Aktualisierung von {{Product}} {{Version}} zu ersetzen, müssen Sie {{Product}} {{Version}} von Ihrem System [[#Entfernen von RAD Studio|entfernen]] und die aktualisierte Edition oder die Aktualisierung von {{Product}} {{Version}} [[#Installieren von RAD Studio|installieren]].&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Installieren eines Package mit dem Getlt-Package-Manager|Installieren eines Package mit dem GetIt-Package-Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Berlin]]&lt;br /&gt;
&lt;br /&gt;
[[en:Installation]]&lt;br /&gt;
[[fr:Installation]]&lt;br /&gt;
[[ja:インストール]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215187</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215187"/>
		<updated>2023-05-31T17:04:50Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: RS-91380&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Hauptseite}}&lt;br /&gt;
&lt;br /&gt;
In diesem Thema wird die Installation, Aktualisierung oder das Löschen von {{Product}} beschrieben.&lt;br /&gt;
&lt;br /&gt;
==Installieren von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
===Vor der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Auf der Seite &#039;&#039;&#039;[[Installationshinweise|Installationshinweise]]&#039;&#039;&#039; sind die Systemanforderungen von {{Product}} und andere Informationen beschrieben, die Sie vor der Installation von {{Product}} kennen müssen.&lt;br /&gt;
&lt;br /&gt;
Sie können {{Product}} {{Version}} auf Ihrem System, auf dem frühere Versionen von {{Product}} installiert sind, installieren. Beachten Sie jedoch, dass jede Version von {{Product}} Ihre [http://www.computerhope.com/issues/ch000549.htm {{Code|PATH}}-Umgebungsvariable (EN)] erweitert, die [[Installationshinweise#Voraussetzungen für unterstützte Zielplattformen|nicht länger als 1830 Zeichen sein kann]], bevor Sie {{Product}} {{Version}} installieren.&lt;br /&gt;
&lt;br /&gt;
===Auswählen eines Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
{{Product}} kann entweder mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; oder dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert werden.&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;[[Installationsprogramm|Installationsprogramm]]&#039;&#039;&#039; ist in den meisten Fällen am geeignetsten, da es Folgendes bietet:&lt;br /&gt;
&lt;br /&gt;
* Deutlich kürzere Installationsdauer sowie deutlich kürzere Dauer für [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Änderungen installierter Features]] nach der Erstinstallation.&lt;br /&gt;
* Höhere Flexibilität bei der Auswahl von Features:&lt;br /&gt;
** Sie müssen keine Unterstützung für die 32-Bit-Windows-Zielplattform installieren.&lt;br /&gt;
** Sie können bestimmte Kombinationen von Zielplattformen und Programmiersprachen auswählen, anstatt Programmiersprachen und Zielplattformen einzeln auszuwählen.&lt;br /&gt;
** Sie können nach der Installation die Unterstützung für jede beliebige Programmiersprache entfernen.&lt;br /&gt;
* Geringere Größe des Installationsprogramms: 0,2 GB. Alles Weitere wird bei Bedarf, ja nach den Features, die Sie installieren, heruntergeladen. Außerdem müssen Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; nach der Erstinstallation nicht beibehalten, die installierten Features ändern Sie [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|in der IDE]].&lt;br /&gt;
* Höhere Benutzerfreundlichkeit. Die Installationsschritte sind einfacher.&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie jedoch das &#039;&#039;&#039;[[Offline-Installationsprogramm|Offline-Installationsprogramm]]&#039;&#039;&#039;, wenn:&lt;br /&gt;
&lt;br /&gt;
* Der Computer, auf dem Sie {{Product}} installieren möchten, über keine aktive Internet-Verbindung verfügt.&lt;br /&gt;
* Auf dem Laufwerk, auf dem Sie {{Product}} installieren möchten, nicht ausreichend Speicherplatz für die Speicherung von Zwischenspeicherdateien verfügbar ist. Im &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; können Sie [[Verwenden des Offline-Installationsprogramms#Konfigurieren des temporären Speicherordners|den temporären Speicherordner anpassen]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; verwenden, ist der &#039;&#039;&#039;[[Feature-Manager|Feature-Manager]]&#039;&#039;&#039; ({{Menu|Tools &amp;amp;gt; Plattformen verwalten}}) nicht auf Ihrem {{Product}}-Installationsprogramm verfügbar.}}&lt;br /&gt;
&lt;br /&gt;
===Ausführen des ausgewählten Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Installationsprogramms|Verwenden des Installationsprogramms]]&#039;&#039;&#039; aus.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Offline-Installationsprogramms|Verwenden des Offline-Installationsprogramms]]&#039;&#039;&#039; aus.&lt;br /&gt;
&lt;br /&gt;
===Nach der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Abschnitte beschreiben einige Schritte, denen Sie nach der Installation von {{Product}} {{Version}} folgen könnten.&lt;br /&gt;
&lt;br /&gt;
====Importieren von Einstellung einer früheren Version====&lt;br /&gt;
&lt;br /&gt;
Wenn auf Ihrem System eine frühere Version von {{Product}} installiert ist, verwenden Sie das &#039;&#039;&#039;[[Tool zum Migrieren von Einstellungen|Tool zum Migrieren von Einstellungen]]&#039;&#039;&#039;, um Ihre alten Einstellungen in Ihre {{Product}} {{Version}}-Installation zu migrieren.&lt;br /&gt;
&lt;br /&gt;
====Installieren eines neuen Platform Assistant====&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Anwendungen für &#039;&#039;&#039;OS X&#039;&#039;&#039; oder &#039;&#039;&#039;iOS&#039;&#039;&#039; bereitstellen möchten, oder wenn Sie Anwendungen für &#039;&#039;&#039;64-Bit-Windows&#039;&#039;&#039; mit einem Remote-System bereitstellen möchten, müssen Sie auf Ihrem Mac oder Remote-64-Bit-Windows-System den &#039;&#039;&#039;[[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant]]&#039;&#039;&#039;, der mit {{Product}} {{Version}} bereitgestellt wird, installieren. Sie können den &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; von einer früheren Version von {{Product}} nicht erneut verwenden.&lt;br /&gt;
&lt;br /&gt;
{{Tip|Sie können verschiedene Versionen des &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; gleichzeitig auf dem gleichen Sytstem ausführen, solange Sie verschiedene Schnittstellennummern für jede Instanz verwenden.}}&lt;br /&gt;
&lt;br /&gt;
====Vorlagedateien aktualisieren====&lt;br /&gt;
&lt;br /&gt;
Projekte für &#039;&#039;&#039;OS X&#039;&#039;&#039;, &#039;&#039;&#039;iOS&#039;&#039;&#039; oder &#039;&#039;&#039;Android&#039;&#039;&#039; enthalten Vorlagedateien, mit denen Sie bestimmte Aspekte Ihrer Anwendung für diese Plattformen anpassen können. Wenn Sie ein Projekt von einer früheren Version von {{Product}} zu {{Product}} {{Version}} migrieren, müssen Sie:&lt;br /&gt;
&lt;br /&gt;
# Eine Sicherung jeder angepassten Vorlagedatei erstellen, damit Sie Ihre angepassten Änderungen später überprüfen können.&lt;br /&gt;
# Alle Vorlagendateien von Ihrem Projektordner entfernen.&lt;br /&gt;
# Ihre Anwendung für jede Zielplattform erstellen (Android) oder bereitstellen (OS X, iOS), damit {{Product}} {{Version}} automatisch eine  aktuelle Version jeder Vorlagedatei generiert.&lt;br /&gt;
# Die neuen Vorlagedateien bearbeiten, um Ihre benutzerdefinierten Änderungen anzuwenden, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen finden Sie unter:&lt;br /&gt;
&lt;br /&gt;
* [[Vorbereiten von Android-Anwendungen für die Bereitstellung#Neu Erstellen der AndroidManifest.template.xml-Datei|Neu Erstellen der AndroidManifest.template.xml-Datei]]&lt;br /&gt;
* [[Anpassen der Datei info.plist#Neu Erstellen der info.plist-Vorlagendateien|Neu Erstellen der info.plist-Vorlagendateien]] ({{Path|info.plist.TemplateOSX.xml}}, {{Path|info.plist.TemplateiOS.xml}})&lt;br /&gt;
* [[Berechtigungsliste#Anpassen von Berechtigungslisten für iOS oder OS X|Anpassen von Berechtigungslisten für iOS oder OS X]] ({{Path|Entitlement.TemplateOSX.xml}}, {{Path|Entitlement.TemplateiOS.xml}})&lt;br /&gt;
&lt;br /&gt;
==Hinzufügen und Entfernen von Features nach der Installation==&lt;br /&gt;
&lt;br /&gt;
Bei der Installation von {{Product}} können Sie verschiedene Features aktivieren oder deaktivieren: Unterstützung für Programmiersprachen, Unterstützung für Zielplattformen, Sprachpakete usw. Sie können jedes dieser Features auch nach der Installation hinzufügen oder entfernen.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Hinzufügen und Entfernen von Features mit dem Feature-Manager]]&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm|Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Entfernen von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer mit Administratorrechten, der {{Product}} anfänglich installiert hat, kann {{Product}} entsprechend den in der Windows-Dokumentation beschriebenen Schritten entfernen:&lt;br /&gt;
&lt;br /&gt;
* Windows 10: [http://windows.microsoft.com/en-us/windows-10/repair-or-remove-programs Repair or remove programs (EN)]&lt;br /&gt;
* Windows 8 und 8.1: [http://windows.microsoft.com/en-us/windows-8/uninstall-change-program Uninstall, change, or repair a program (EN)] &lt;br /&gt;
* Windows 7: [http://windows.microsoft.com/en-us/windows/uninstall-change-program#uninstall-change-program=windows-7 Uninstall or change a program (EN)]&lt;br /&gt;
&lt;br /&gt;
===Entfernen von {{Product}}-Instanzen, die Netzwerklizenzen verwenden===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} muss jeder Benutzer, der nicht der Administrator ist, benutzerspezifische Daten aus der Windows-Registrierung entfernen:&lt;br /&gt;
&lt;br /&gt;
# Melden Sie sich bei Ihrem Benutzerkonto an.&lt;br /&gt;
# Erstellen Sie eine Sicherung der Registrierung.&lt;br /&gt;
# Rufen Sie &amp;quot;Regedit&amp;quot; oder ein anderes Tool für die Bearbeitung der Registrierung auf.&lt;br /&gt;
# Löschen Sie den folgenden Registrierungsschlüssel:&lt;br /&gt;
#: {{Code|HKEY_CURRENT_USER\Software\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
===Entfernen von Konfigurationsdateien===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} können benutzerspezifische Daten, wie etwa Standardprojekteinstellungen, in Konfigurationsdateien erhalten bleiben. Sie sollten diese Ordner manuell entfernen:&lt;br /&gt;
&lt;br /&gt;
* {{Path|All Users\Application Data\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
* {{Path|All Users\Shared Documents\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
==Upgrading {{Product}} {{Version}}==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Um eine andere Version von {{Product}} zu installieren, müssen Sie diese Schritte nicht ausführen. Verschiedene Versionen von {{Product}} können auf demselben System installiert sein.}}&lt;br /&gt;
&lt;br /&gt;
Um {{Product}} {{Version}} durch eine bessere Edition oder eine Aktualisierung von {{Product}} {{Version}} zu ersetzen, müssen Sie {{Product}} {{Version}} von Ihrem System [[#Entfernen von RAD Studio|entfernen]] und die aktualisierte Edition oder die Aktualisierung von {{Product}} {{Version}} [[#Installieren von RAD Studio|installieren]].&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Installieren eines Package mit dem Getlt-Package-Manager|Installieren eines Package mit dem GetIt-Package-Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Berlin]]&lt;br /&gt;
&lt;br /&gt;
[[en:Installation]]&lt;br /&gt;
[[fr:Installation]]&lt;br /&gt;
[[ja:インストール]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215186</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215186"/>
		<updated>2023-05-31T17:03:24Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: RS-91380&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Hauptseite}}&lt;br /&gt;
&lt;br /&gt;
In diesem Thema wird die Installation, Aktualisierung oder das Löschen von {{Product}} beschrieben.&lt;br /&gt;
&lt;br /&gt;
==Installieren von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
===Vor der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Auf der Seite &#039;&#039;&#039;[[Installationshinweise|Installationshinweise]]&#039;&#039;&#039; sind die Systemanforderungen von {{Product}} und andere Informationen beschrieben, die Sie vor der Installation von {{Product}} kennen müssen.&lt;br /&gt;
&lt;br /&gt;
Sie können {{Product}} {{Version}} auf Ihrem System, auf dem frühere Versionen von {{Product}} installiert sind, installieren. Beachten Sie jedoch, dass jede Version von {{Product}} Ihre [http://www.computerhope.com/issues/ch000549.htm {{Code|PATH}}-Umgebungsvariable (EN)] erweitert, die [[Installationshinweise#Voraussetzungen für unterstützte Zielplattformen|nicht länger als 1830 Zeichen sein kann]], bevor Sie {{Product}} {{Version}} installieren.&lt;br /&gt;
&lt;br /&gt;
===Auswählen eines Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
{{Product}} kann entweder mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; oder dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert werden.&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;[[Installationsprogramm|Installationsprogramm]]&#039;&#039;&#039; ist in den meisten Fällen am geeignetsten, da es Folgendes bietet:&lt;br /&gt;
&lt;br /&gt;
* Deutlich kürzere Installationsdauer sowie deutlich kürzere Dauer für [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Änderungen installierter Features]] nach der Erstinstallation.&lt;br /&gt;
* Höhere Flexibilität bei der Auswahl von Features:&lt;br /&gt;
** Sie müssen keine Unterstützung für die 32-Bit-Windows-Zielplattform installieren.&lt;br /&gt;
** Sie können bestimmte Kombinationen von Zielplattformen und Programmiersprachen auswählen, anstatt Programmiersprachen und Zielplattformen einzeln auszuwählen.&lt;br /&gt;
** Sie können nach der Installation die Unterstützung für jede beliebige Programmiersprache entfernen.&lt;br /&gt;
* Geringere Größe des Installationsprogramms: 0,2 GB. Alles Weitere wird bei Bedarf, ja nach den Features, die Sie installieren, heruntergeladen. Außerdem müssen Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; nach der Erstinstallation nicht beibehalten, die installierten Features ändern Sie [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|in der IDE]].&lt;br /&gt;
* Höhere Benutzerfreundlichkeit. Die Installationsschritte sind einfacher.&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie jedoch das &#039;&#039;&#039;[[Offline-Installationsprogramm|Offline-Installationsprogramm]]&#039;&#039;&#039;, wenn:&lt;br /&gt;
&lt;br /&gt;
* Der Computer, auf dem Sie {{Product}} installieren möchten, über keine aktive Internet-Verbindung verfügt.&lt;br /&gt;
* Auf dem Laufwerk, auf dem Sie {{Product}} installieren möchten, nicht ausreichend Speicherplatz für die Speicherung von Zwischenspeicherdateien verfügbar ist. Im &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; können Sie [[Verwenden des Offline-Installationsprogramms#Konfigurieren des temporären Speicherordners|den temporären Speicherordner anpassen]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; verwenden, ist der &#039;&#039;&#039;[[Feature-Manager|Feature-Manager]]&#039;&#039;&#039; ({{Menu|Tools &amp;amp;gt; Plattformen verwalten}}) nicht auf Ihrem {{Product}}-Installationsprogramm verfügbar.}}&lt;br /&gt;
&lt;br /&gt;
===Ausführen des ausgewählten Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Installationsprogramms|Verwenden des Installationsprogramms]]&#039;&#039;&#039; aus.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Offline-Installationsprogramms|Verwenden des Offline-Installationsprogramms]]&#039;&#039;&#039; aus.&lt;br /&gt;
&lt;br /&gt;
===Nach der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Abschnitte beschreiben einige Schritte, denen Sie nach der Installation von {{Product}} {{Version}} folgen könnten.&lt;br /&gt;
&lt;br /&gt;
====Importieren von Einstellung einer früheren Version====&lt;br /&gt;
&lt;br /&gt;
Wenn auf Ihrem System eine frühere Version von {{Product}} installiert ist, verwenden Sie das &#039;&#039;&#039;[[Tool zum Migrieren von Einstellungen|Tool zum Migrieren von Einstellungen]]&#039;&#039;&#039;, um Ihre alten Einstellungen in Ihre {{Product}} {{Version}}-Installation zu migrieren.&lt;br /&gt;
&lt;br /&gt;
====Installieren eines neuen Platform Assistant====&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Anwendungen für &#039;&#039;&#039;OS X&#039;&#039;&#039; oder &#039;&#039;&#039;iOS&#039;&#039;&#039; bereitstellen möchten, oder wenn Sie Anwendungen für &#039;&#039;&#039;64-Bit-Windows&#039;&#039;&#039; mit einem Remote-System bereitstellen möchten, müssen Sie auf Ihrem Mac oder Remote-64-Bit-Windows-System den &#039;&#039;&#039;[[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant]]&#039;&#039;&#039;, der mit {{Product}} {{Version}} bereitgestellt wird, installieren. Sie können den &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; von einer früheren Version von {{Product}} nicht erneut verwenden.&lt;br /&gt;
&lt;br /&gt;
{{Tip|Sie können verschiedene Versionen des &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; gleichzeitig auf dem gleichen Sytstem ausführen, solange Sie verschiedene Schnittstellennummern für jede Instanz verwenden.}}&lt;br /&gt;
&lt;br /&gt;
====Vorlagedateien aktualisieren====&lt;br /&gt;
&lt;br /&gt;
Projekte für &#039;&#039;&#039;OS X&#039;&#039;&#039;, &#039;&#039;&#039;iOS&#039;&#039;&#039; oder &#039;&#039;&#039;Android&#039;&#039;&#039; enthalten Vorlagedateien, mit denen Sie bestimmte Aspekte Ihrer Anwendung für diese Plattformen anpassen können. Wenn Sie ein Projekt von einer früheren Version von {{Product}} zu {{Product}} {{Version}} migrieren, müssen Sie:&lt;br /&gt;
&lt;br /&gt;
# Eine Sicherung jeder angepassten Vorlagedatei erstellen, damit Sie Ihre angepassten Änderungen später überprüfen können.&lt;br /&gt;
# Alle Vorlagendateien von Ihrem Projektordner entfernen.&lt;br /&gt;
# Ihre Anwendung für jede Zielplattform erstellen (Android) oder bereitstellen (OS X, iOS), damit {{Product}} {{Version}} automatisch eine  aktuelle Version jeder Vorlagedatei generiert.&lt;br /&gt;
# Die neuen Vorlagedateien bearbeiten, um Ihre benutzerdefinierten Änderungen anzuwenden, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen finden Sie unter:&lt;br /&gt;
&lt;br /&gt;
* [[Vorbereiten von Android-Anwendungen für die Bereitstellung#Neu Erstellen der AndroidManifest.template.xml-Datei|Neu Erstellen der AndroidManifest.template.xml-Datei]]&lt;br /&gt;
* [[Anpassen der Datei info.plist#Neu Erstellen der info.plist-Vorlagendateien|Neu Erstellen der info.plist-Vorlagendateien]] ({{Path|info.plist.TemplateOSX.xml}}, {{Path|info.plist.TemplateiOS.xml}})&lt;br /&gt;
* [[Berechtigungsliste#Anpassen von Berechtigungslisten für iOS oder OS X|Anpassen von Berechtigungslisten für iOS oder OS X]] ({{Path|Entitlement.TemplateOSX.xml}}, {{Path|Entitlement.TemplateiOS.xml}})&lt;br /&gt;
&lt;br /&gt;
==Hinzufügen und Entfernen von Features nach der Installation==&lt;br /&gt;
&lt;br /&gt;
Bei der Installation von {{Product}} können Sie verschiedene Features aktivieren oder deaktivieren: Unterstützung für Programmiersprachen, Unterstützung für Zielplattformen, Sprachpakete usw. Sie können jedes dieser Features auch nach der Installation hinzufügen oder entfernen.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Hinzufügen und Entfernen von Features mit dem Feature-Manager]]&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm|Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Entfernen von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer mit Administratorrechten, der {{Product}} anfänglich installiert hat, kann {{Product}} entsprechend den in der Windows-Dokumentation beschriebenen Schritten entfernen:&lt;br /&gt;
&lt;br /&gt;
* Windows 10: [http://windows.microsoft.com/en-us/windows-10/repair-or-remove-programs Repair or remove programs (EN)]&lt;br /&gt;
* Windows 8 und 8.1: [http://windows.microsoft.com/en-us/windows-8/uninstall-change-program Uninstall, change, or repair a program (EN)] &lt;br /&gt;
* Windows 7: [http://windows.microsoft.com/en-us/windows/uninstall-change-program#uninstall-change-program=windows-7 Uninstall or change a program (EN)]&lt;br /&gt;
&lt;br /&gt;
===Entfernen von {{Product}}-Instanzen, die Netzwerklizenzen verwenden===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} muss jeder Benutzer, der nicht der Administrator ist, benutzerspezifische Daten aus der Windows-Registrierung entfernen:&lt;br /&gt;
&lt;br /&gt;
# Melden Sie sich bei Ihrem Benutzerkonto an.&lt;br /&gt;
# Erstellen Sie eine Sicherung der Registrierung.&lt;br /&gt;
# Rufen Sie &amp;quot;Regedit&amp;quot; oder ein anderes Tool für die Bearbeitung der Registrierung auf.&lt;br /&gt;
# Löschen Sie den folgenden Registrierungsschlüssel:&lt;br /&gt;
#: {{Code|HKEY_CURRENT_USER\Software\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
===Entfernen von Konfigurationsdateien===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} können benutzerspezifische Daten, wie etwa Standardprojekteinstellungen, in Konfigurationsdateien erhalten bleiben. Sie sollten diese Ordner manuell entfernen:&lt;br /&gt;
&lt;br /&gt;
* {{Path|All Users\Application Data\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
* {{Path|All Users\Shared Documents\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
==Upgrading {{Product}} {{Version}}==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Um eine andere Version von {{Product}} zu installieren, müssen Sie diese Schritte nicht ausführen. Verschiedene Versionen von {{Product}} können auf demselben System installiert sein.}}&lt;br /&gt;
&lt;br /&gt;
Um {{Product}} {{Version}} durch eine bessere Edition oder eine Aktualisierung von {{Product}} {{Version}} zu ersetzen, müssen Sie {{Product}} {{Version}} von Ihrem System [[#Entfernen von RAD Studio|entfernen]] und die aktualisierte Edition oder die Aktualisierung von {{Product}} {{Version}} [[#Installieren {{Product}}|installieren]].&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Installieren eines Package mit dem Getlt-Package-Manager|Installieren eines Package mit dem GetIt-Package-Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Berlin]]&lt;br /&gt;
&lt;br /&gt;
[[en:Installation]]&lt;br /&gt;
[[fr:Installation]]&lt;br /&gt;
[[ja:インストール]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215185</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Installation&amp;diff=215185"/>
		<updated>2023-05-31T17:02:08Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: RS-91380&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Hauptseite}}&lt;br /&gt;
&lt;br /&gt;
In diesem Thema wird die Installation, Aktualisierung oder das Löschen von {{Product}} beschrieben.&lt;br /&gt;
&lt;br /&gt;
==Installieren von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
===Vor der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Auf der Seite &#039;&#039;&#039;[[Installationshinweise|Installationshinweise]]&#039;&#039;&#039; sind die Systemanforderungen von {{Product}} und andere Informationen beschrieben, die Sie vor der Installation von {{Product}} kennen müssen.&lt;br /&gt;
&lt;br /&gt;
Sie können {{Product}} {{Version}} auf Ihrem System, auf dem frühere Versionen von {{Product}} installiert sind, installieren. Beachten Sie jedoch, dass jede Version von {{Product}} Ihre [http://www.computerhope.com/issues/ch000549.htm {{Code|PATH}}-Umgebungsvariable (EN)] erweitert, die [[Installationshinweise#Voraussetzungen für unterstützte Zielplattformen|nicht länger als 1830 Zeichen sein kann]], bevor Sie {{Product}} {{Version}} installieren.&lt;br /&gt;
&lt;br /&gt;
===Auswählen eines Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
{{Product}} kann entweder mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; oder dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert werden.&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;[[Installationsprogramm|Installationsprogramm]]&#039;&#039;&#039; ist in den meisten Fällen am geeignetsten, da es Folgendes bietet:&lt;br /&gt;
&lt;br /&gt;
* Deutlich kürzere Installationsdauer sowie deutlich kürzere Dauer für [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Änderungen installierter Features]] nach der Erstinstallation.&lt;br /&gt;
* Höhere Flexibilität bei der Auswahl von Features:&lt;br /&gt;
** Sie müssen keine Unterstützung für die 32-Bit-Windows-Zielplattform installieren.&lt;br /&gt;
** Sie können bestimmte Kombinationen von Zielplattformen und Programmiersprachen auswählen, anstatt Programmiersprachen und Zielplattformen einzeln auszuwählen.&lt;br /&gt;
** Sie können nach der Installation die Unterstützung für jede beliebige Programmiersprache entfernen.&lt;br /&gt;
* Geringere Größe des Installationsprogramms: 0,2 GB. Alles Weitere wird bei Bedarf, ja nach den Features, die Sie installieren, heruntergeladen. Außerdem müssen Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; nach der Erstinstallation nicht beibehalten, die installierten Features ändern Sie [[Hinzufügen und Entfernen von Features mit dem Feature-Manager|in der IDE]].&lt;br /&gt;
* Höhere Benutzerfreundlichkeit. Die Installationsschritte sind einfacher.&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie jedoch das &#039;&#039;&#039;[[Offline-Installationsprogramm|Offline-Installationsprogramm]]&#039;&#039;&#039;, wenn:&lt;br /&gt;
&lt;br /&gt;
* Der Computer, auf dem Sie {{Product}} installieren möchten, über keine aktive Internet-Verbindung verfügt.&lt;br /&gt;
* Auf dem Laufwerk, auf dem Sie {{Product}} installieren möchten, nicht ausreichend Speicherplatz für die Speicherung von Zwischenspeicherdateien verfügbar ist. Im &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; können Sie [[Verwenden des Offline-Installationsprogramms#Konfigurieren des temporären Speicherordners|den temporären Speicherordner anpassen]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; verwenden, ist der &#039;&#039;&#039;[[Feature-Manager|Feature-Manager]]&#039;&#039;&#039; ({{Menu|Tools &amp;amp;gt; Plattformen verwalten}}) nicht auf Ihrem {{Product}}-Installationsprogramm verfügbar.}}&lt;br /&gt;
&lt;br /&gt;
===Ausführen des ausgewählten Installationsprogramms===&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Installationsprogramms|Verwenden des Installationsprogramms]]&#039;&#039;&#039; aus.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie das &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; auswählen, führen Sie die Anweisungen unter &#039;&#039;&#039;[[Verwenden des Offline-Installationsprogramms|Verwenden des Offline-Installationsprogramms]]&#039;&#039;&#039; aus.&lt;br /&gt;
&lt;br /&gt;
===Nach der Installation von {{Product}}===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Abschnitte beschreiben einige Schritte, denen Sie nach der Installation von {{Product}} {{Version}} folgen könnten.&lt;br /&gt;
&lt;br /&gt;
====Importieren von Einstellung einer früheren Version====&lt;br /&gt;
&lt;br /&gt;
Wenn auf Ihrem System eine frühere Version von {{Product}} installiert ist, verwenden Sie das &#039;&#039;&#039;[[Tool zum Migrieren von Einstellungen|Tool zum Migrieren von Einstellungen]]&#039;&#039;&#039;, um Ihre alten Einstellungen in Ihre {{Product}} {{Version}}-Installation zu migrieren.&lt;br /&gt;
&lt;br /&gt;
====Installieren eines neuen Platform Assistant====&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Anwendungen für &#039;&#039;&#039;OS X&#039;&#039;&#039; oder &#039;&#039;&#039;iOS&#039;&#039;&#039; bereitstellen möchten, oder wenn Sie Anwendungen für &#039;&#039;&#039;64-Bit-Windows&#039;&#039;&#039; mit einem Remote-System bereitstellen möchten, müssen Sie auf Ihrem Mac oder Remote-64-Bit-Windows-System den &#039;&#039;&#039;[[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant]]&#039;&#039;&#039;, der mit {{Product}} {{Version}} bereitgestellt wird, installieren. Sie können den &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; von einer früheren Version von {{Product}} nicht erneut verwenden.&lt;br /&gt;
&lt;br /&gt;
{{Tip|Sie können verschiedene Versionen des &#039;&#039;&#039;Platform Assistant&#039;&#039;&#039; gleichzeitig auf dem gleichen Sytstem ausführen, solange Sie verschiedene Schnittstellennummern für jede Instanz verwenden.}}&lt;br /&gt;
&lt;br /&gt;
====Vorlagedateien aktualisieren====&lt;br /&gt;
&lt;br /&gt;
Projekte für &#039;&#039;&#039;OS X&#039;&#039;&#039;, &#039;&#039;&#039;iOS&#039;&#039;&#039; oder &#039;&#039;&#039;Android&#039;&#039;&#039; enthalten Vorlagedateien, mit denen Sie bestimmte Aspekte Ihrer Anwendung für diese Plattformen anpassen können. Wenn Sie ein Projekt von einer früheren Version von {{Product}} zu {{Product}} {{Version}} migrieren, müssen Sie:&lt;br /&gt;
&lt;br /&gt;
# Eine Sicherung jeder angepassten Vorlagedatei erstellen, damit Sie Ihre angepassten Änderungen später überprüfen können.&lt;br /&gt;
# Alle Vorlagendateien von Ihrem Projektordner entfernen.&lt;br /&gt;
# Ihre Anwendung für jede Zielplattform erstellen (Android) oder bereitstellen (OS X, iOS), damit {{Product}} {{Version}} automatisch eine  aktuelle Version jeder Vorlagedatei generiert.&lt;br /&gt;
# Die neuen Vorlagedateien bearbeiten, um Ihre benutzerdefinierten Änderungen anzuwenden, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen finden Sie unter:&lt;br /&gt;
&lt;br /&gt;
* [[Vorbereiten von Android-Anwendungen für die Bereitstellung#Neu Erstellen der AndroidManifest.template.xml-Datei|Neu Erstellen der AndroidManifest.template.xml-Datei]]&lt;br /&gt;
* [[Anpassen der Datei info.plist#Neu Erstellen der info.plist-Vorlagendateien|Neu Erstellen der info.plist-Vorlagendateien]] ({{Path|info.plist.TemplateOSX.xml}}, {{Path|info.plist.TemplateiOS.xml}})&lt;br /&gt;
* [[Berechtigungsliste#Anpassen von Berechtigungslisten für iOS oder OS X|Anpassen von Berechtigungslisten für iOS oder OS X]] ({{Path|Entitlement.TemplateOSX.xml}}, {{Path|Entitlement.TemplateiOS.xml}})&lt;br /&gt;
&lt;br /&gt;
==Hinzufügen und Entfernen von Features nach der Installation==&lt;br /&gt;
&lt;br /&gt;
Bei der Installation von {{Product}} können Sie verschiedene Features aktivieren oder deaktivieren: Unterstützung für Programmiersprachen, Unterstützung für Zielplattformen, Sprachpakete usw. Sie können jedes dieser Features auch nach der Installation hinzufügen oder entfernen.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Feature-Manager|Hinzufügen und Entfernen von Features mit dem Feature-Manager]]&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie {{Product}} mit dem &#039;&#039;&#039;Offline-Installationsprogramm&#039;&#039;&#039; installiert haben, befolgen Sie die Anweisungen unter &#039;&#039;&#039;[[Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm|Hinzufügen und Entfernen von Features mit dem Offline-Installationsprogramm]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Entfernen von {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer mit Administratorrechten, der {{Product}} anfänglich installiert hat, kann {{Product}} entsprechend den in der Windows-Dokumentation beschriebenen Schritten entfernen:&lt;br /&gt;
&lt;br /&gt;
* Windows 10: [http://windows.microsoft.com/en-us/windows-10/repair-or-remove-programs Repair or remove programs (EN)]&lt;br /&gt;
* Windows 8 und 8.1: [http://windows.microsoft.com/en-us/windows-8/uninstall-change-program Uninstall, change, or repair a program (EN)] &lt;br /&gt;
* Windows 7: [http://windows.microsoft.com/en-us/windows/uninstall-change-program#uninstall-change-program=windows-7 Uninstall or change a program (EN)]&lt;br /&gt;
&lt;br /&gt;
===Entfernen von {{Product}}-Instanzen, die Netzwerklizenzen verwenden===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} muss jeder Benutzer, der nicht der Administrator ist, benutzerspezifische Daten aus der Windows-Registrierung entfernen:&lt;br /&gt;
&lt;br /&gt;
# Melden Sie sich bei Ihrem Benutzerkonto an.&lt;br /&gt;
# Erstellen Sie eine Sicherung der Registrierung.&lt;br /&gt;
# Rufen Sie &amp;quot;Regedit&amp;quot; oder ein anderes Tool für die Bearbeitung der Registrierung auf.&lt;br /&gt;
# Löschen Sie den folgenden Registrierungsschlüssel:&lt;br /&gt;
#: {{Code|HKEY_CURRENT_USER\Software\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
===Entfernen von Konfigurationsdateien===&lt;br /&gt;
&lt;br /&gt;
Nach dem Entfernen von {{Product}} können benutzerspezifische Daten, wie etwa Standardprojekteinstellungen, in Konfigurationsdateien erhalten bleiben. Sie sollten diese Ordner manuell entfernen:&lt;br /&gt;
&lt;br /&gt;
* {{Path|All Users\Application Data\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
* {{Path|All Users\Shared Documents\{{Company}}\BDS\{{VersionNumber}}}}&lt;br /&gt;
&lt;br /&gt;
==Upgrading {{Product}} {{Version}}==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Um eine andere Version von {{Product}} zu installieren, müssen Sie diese Schritte nicht ausführen. Verschiedene Versionen von {{Product}} können auf demselben System installiert sein.}}&lt;br /&gt;
&lt;br /&gt;
Um {{Product}} {{Version}} durch eine bessere Edition oder eine Aktualisierung von {{Product}} {{Version}} zu ersetzen, müssen Sie {{Product}} {{Version}} von Ihrem System [[#Entfernen|entfernen]] und die aktualisierte Edition oder die Aktualisierung von {{Product}} {{Version}} [[#Installieren {{Product}}|installieren]].&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Installieren eines Package mit dem Getlt-Package-Manager|Installieren eines Package mit dem GetIt-Package-Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Berlin]]&lt;br /&gt;
&lt;br /&gt;
[[en:Installation]]&lt;br /&gt;
[[fr:Installation]]&lt;br /&gt;
[[ja:インストール]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Anwendungsmanifestdatei_f%C3%BCr_Android_(AndroidManifest.xml)&amp;diff=215169</id>
		<title>Anwendungsmanifestdatei für Android (AndroidManifest.xml)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Anwendungsmanifestdatei_f%C3%BCr_Android_(AndroidManifest.xml)&amp;diff=215169"/>
		<updated>2022-08-23T05:17:47Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Dateitypen - Index}}&lt;br /&gt;
&lt;br /&gt;
Wenn Sie ein Projekt für die Zielplattform [[Mobile Android-Anwendungsentwicklung|Android]] erzeugen, generiert {{Product}} eine Android-Anwendungsmanifestdatei. Diese Datei ist zum Generieren des Pakets Ihrer Anwendung erforderlich.&lt;br /&gt;
&lt;br /&gt;
Android-Anwendungsmanifestdateien stellen Informationen über Ihre Anwendung bereit. Der Inhalt dieser Dateien wird aus den Informationen auf den folgenden Seiten Ihrer [[Projektoptionen (Dialogfeld)|Projektkonfiguration]] erzeugt:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Anwendungsoptionen|Anwendung]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Verwendet Berechtigungen|Verwendet Berechtigungen]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Versionsinformationen|Versionsinformationen]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beim Erzeugen Ihres Projekts wird die Android-Anwendungsmanifestdatei standardmäßig als {{Path|AndroidManifest.xml}} in folgendem Ordner generiert:&lt;br /&gt;
&lt;br /&gt;
* In [[Packages (Delphi)|Packages]]:&lt;br /&gt;
*: {{Note| Für [[Packages (Delphi)|Packages]] benötigen Sie keine Android-Anwendungsmanifestdatei.}}&lt;br /&gt;
** Für {{Delphi}}: {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|Plattform}}}}&lt;br /&gt;
** Für C++:&lt;br /&gt;
*** {{Path|{{PublicDocumentsPath}}\Bpl\{{Placeholder|Plattform}}\{{Placeholder|Build-Konfiguration}}}}&lt;br /&gt;
*** {{Path|{{PublicDocumentsPath}}\DCP\{{Placeholder|Plattform}}\{{Placeholder|Build-Konfiguration}}}}&lt;br /&gt;
* In anderen Projekten: {{Path|{{ProjectsPath}}\{{Placeholder|Projekt}}\{{Placeholder|Plattform}}\{{Placeholder|Build-Konfiguration}}}}&lt;br /&gt;
&lt;br /&gt;
So ändern Sie das Ausgabeverzeichnis:&lt;br /&gt;
&lt;br /&gt;
* In {{Delphi}}: Verwenden Sie die Option &#039;&#039;&#039;Package-Ausgabeverzeichnis&#039;&#039;&#039; in {{Menu|Projekt &amp;amp;gt; Optionen &amp;amp;gt; [[Delphi-Compiler|{{Delphi}}-Compiler]]}}.&lt;br /&gt;
* In C++: Verwenden Sie die Option &#039;&#039;&#039;BPI/LIB-Ausgabe&#039;&#039;&#039; in {{Menu|Projekt &amp;amp;gt; Optionen &amp;amp;gt; [[C++ (Gemeinsame Optionen)|C++ (Gemeinsame Optionen)]]}}.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Vorbereiten von Android-Anwendungen für die Bereitstellung#Anpassen der Datei &amp;quot;AndroidManifest.xml&amp;quot;|Anpassen der Datei &amp;quot;AndroidManifest.xml&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
* [[Apple-Anwendungsinformationsdatei (*.info.plist)|Apple-Anwendungsinformationsdatei (*.info.plist)]]&lt;br /&gt;
* [[Apple-Anwendungsberechtigungsdatei (*.entitlements)|Apple-Anwendungsberechtigungsdatei (*.entitlements)]]&lt;br /&gt;
* [[Regeldatei für Apple-Anwendungsressourcen|Regeldatei für Apple-Anwendungsressourcen (ResourceRules.plist)]]&lt;br /&gt;
&lt;br /&gt;
* [[Package-Dateien nach erfolgreicher Compilierung|Package-Dateien nach erfolgreicher Compilierung]]&lt;br /&gt;
&lt;br /&gt;
* [http://developer.android.com/guide/topics/manifest/manifest-intro.html AndroidManifest.xml (EN)] (Android-Dokumentation)&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Anwendungsmanifestdatei fur Android (AndroidManifest.xml)}}&lt;br /&gt;
[[Category:IDE-Referenz]]&lt;br /&gt;
[[Category:XE7]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Android Application Manifest File (AndroidManifest.xml)]]&lt;br /&gt;
[[fr:Fichier manifest d&#039;application Android (AndroidManifest.xml)]]&lt;br /&gt;
[[ja:Android アプリケーションのマニフェスト ファイル（AndroidManifest.xml）]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Erstellen_von_Live-Vorlagen&amp;diff=215158</id>
		<title>Erstellen von Live-Vorlagen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Erstellen_von_Live-Vorlagen&amp;diff=215158"/>
		<updated>2021-09-25T00:52:21Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|So bearbeiten Sie Code im Quelltext-Editor}}&lt;br /&gt;
&lt;br /&gt;
Im &#039;&#039;&#039;[[Quelltext-Editor|Quelltext-Editor]]&#039;&#039;&#039; können Sie bevorzugte Quelltext-Konstrukte in den &#039;&#039;&#039;Vorlagen-Manager&#039;&#039;&#039; einfügen und so eine Bibliothek häufig verwendeter Vorlagen erstellen.&lt;br /&gt;
&lt;br /&gt;
==So fügen Sie eine Vorlage hinzu:==&lt;br /&gt;
&lt;br /&gt;
===Beginnen Sie mit dem Erstellen einer Quelltextvorlage im Quelltext-Editor===&lt;br /&gt;
&lt;br /&gt;
Führen Sie im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; einen der beiden folgenden Schritte aus:&lt;br /&gt;
&lt;br /&gt;
* Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Datei &amp;amp;gt; Neu &amp;amp;gt; Weitere &amp;amp;gt; Andere Dateien&#039;&#039;&#039; &amp;lt;/font&amp;gt; und dann das Symbol &#039;&#039;&#039;Quelltextvorlage&#039;&#039;&#039; aus.&lt;br /&gt;
* Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Ansicht &amp;amp;gt; Vorlagen&#039;&#039;&#039;&amp;lt;/font&amp;gt;, und klicken Sie dann im Fenster &#039;&#039;&#039;[[Vorlagen (Fenster)|Vorlagen]]&#039;&#039;&#039;, das sich an der Position der Tool Palette in der rechten unteren Ecke der IDE befindet, auf die Schaltfläche &#039;&#039;&#039;Neu&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Sie können auch vor dem Klicken auf die Schaltfläche &#039;&#039;&#039;Neu&#039;&#039;&#039; Quelltext im Editor markieren; der markierte Quelltext wird im Feld &amp;amp;lt;code&amp;amp;gt;&amp;amp;lt;![CDATA[]]&amp;amp;gt;&amp;amp;lt;/code&amp;amp;gt; zwischen die Zeichen [] eingefügt.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden finden Sie den in der IDE angezeigten XML-Code, wenn Sie mit dem Erstellen einer Live-Vorlage beginnen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;codetemplate	xmlns=&amp;quot;http://schemas.borland.com/Delphi/2005/codetemplates&amp;quot;&lt;br /&gt;
 				version=&amp;quot;1.0.0&amp;quot;&amp;gt;&lt;br /&gt;
 	&amp;lt;template &#039;&#039;&#039;name=&amp;quot;|&amp;quot;&#039;&#039;&#039; invoke=&amp;quot;manual&amp;quot;&amp;gt; &lt;br /&gt;
 		&amp;lt;description&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 		&amp;lt;/description&amp;gt;&lt;br /&gt;
 		&amp;lt;author&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 		&amp;lt;/author&amp;gt;&lt;br /&gt;
 		&amp;lt;code language=&amp;quot;&amp;quot;&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
 		&amp;lt;/code&amp;gt;&lt;br /&gt;
 	&amp;lt;/template&amp;gt;&lt;br /&gt;
 &amp;lt;/codetemplate&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim ersten Öffnen der Live-Vorlagengliederung ist das Feld &#039;&#039;&#039;name=&amp;quot; &amp;quot;&#039;&#039;&#039; hervorgehoben, und der Cursor befindet sich zwischen den Anführungszeichen (&#039;&#039;&#039;name=&amp;quot;|&amp;quot;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
{{Note| Sie können die Live-Vorlagengliederung im [[Quelltext-Editor|Quelltext-Editor]] mithilfe der &#039;&#039;&#039;[[Tool-Palette|Tool-Palette]]&#039;&#039;&#039; öffnen. Geben Sie in das Suchfeld der Tool-Palette &#039;&#039;Vorlage&#039;&#039; ein, und drücken Sie die &#039;&#039;&#039;Eingabetaste&#039;&#039;&#039;, oder doppelklicken Sie auf &#039;&#039;&#039;Code Template&#039;&#039;&#039;.}}&lt;br /&gt;
&lt;br /&gt;
===Geben Sie im XML-Code Attributwerte an===&lt;br /&gt;
&lt;br /&gt;
Füllen Sie jetzt die Felder in der Vorlage aus; Sie können spezielle für Ihre Vorlage erforderliche Felder hinzufügen.  &lt;br /&gt;
&lt;br /&gt;
# Beginnen Sie mit dem Zuweisen eines Namens für Ihre Vorlage. Die Felder &#039;&#039;&#039;template name&#039;&#039;&#039; und &#039;&#039;&#039;code language&#039;&#039;&#039; der Vorlage sind erforderlich.&lt;br /&gt;
# Geben Sie im Feld &#039;&#039;&#039;invoke&#039;&#039;&#039; an, wie diese Vorlage aufgerufen werden soll:&lt;br /&gt;
#:&lt;br /&gt;
#:* manual – Aufruf mit der Taste TAB&lt;br /&gt;
#:* auto – Aufruf mit den Tasten LEER oder TAB&lt;br /&gt;
#:* none - Aufruf mit den Tastenkombinationen STRG+J, STRG+LEER oder über das Vorlagenfenster&lt;br /&gt;
# Geben Sie die Attribute &amp;quot;description&amp;quot;, &amp;quot;author&amp;quot; und &amp;quot;code language&amp;quot; (&#039;&#039;&#039;language=&amp;quot;{{Delphi}}&amp;quot;&#039;&#039;&#039; oder &#039;&#039;&#039;language=&amp;quot;C&amp;quot;&#039;&#039;&#039;) ein.&lt;br /&gt;
&lt;br /&gt;
===Definieren Sie Sprungpunkte===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sprungpunkte&#039;&#039;&#039; sind optional ansteuerbare Platzhalter für Eingabefelder. Wenn Ihre Vorlage diese Platzhalter enthalten soll, dann müssen Sie einen &#039;&#039;&#039;point&#039;&#039;&#039; für jedes Eingabefeld in der Vorlage definieren. Bei der Verwendung der Vorlage kann dann mit der Taste &#039;&#039;&#039;TAB&#039;&#039;&#039; oder &#039;&#039;&#039;LEER&#039;&#039;&#039; von &amp;quot;point&amp;quot; zu &amp;quot;point&amp;quot; gewechselt werden.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So definieren Sie Sprungpunkte in der Vorlage:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Setzen Sie den Cursor an die gewünschte Position (Sprungpunkte sind normalerweise die ersten in einer Live-Vorlage definierten Elemente, und sollten sich deshalb vor dem Feld &#039;&#039;&#039;&amp;amp;lt;description&amp;amp;gt;&#039;&#039;&#039; befinden).&lt;br /&gt;
# Doppelklicken Sie auf die Vorlage &#039;&#039;&#039;point&#039;&#039;&#039;, die sich beim Erstellen einer Live-Vorlage im [[Vorlagen (Fenster)|Vorlagenfenster]] befindet. &lt;br /&gt;
&lt;br /&gt;
:Die Vorlage &#039;&#039;&#039;point&#039;&#039;&#039; wird im Quelltext-Editor an der Cursorposition angezeigt:&lt;br /&gt;
&lt;br /&gt;
[[Image:PointTemplateLive.png]]&lt;br /&gt;
&lt;br /&gt;
Jeder &#039;&#039;&#039;point&#039;&#039;&#039; hat drei Attributwerte:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;PointName&#039;&#039;&#039; legt den Namen des Sprungpunktes fest.&lt;br /&gt;
* &#039;&#039;&#039;PointText&#039;&#039;&#039; legt eine im Vorlagenfenster angezeigte Beschreibung fest. (Im Quelltext-Editor wird fälschlicherweise &amp;quot;PointName&amp;quot; angezeigt, aber der XML-Code für den Punkt ist korrekt.)&lt;br /&gt;
* &#039;&#039;&#039;PointHint&#039;&#039;&#039; legt den Popup-Hinweis für den Punkt fest.&lt;br /&gt;
&lt;br /&gt;
Diese Attributwerte sind als Sprungpunkte für diese Vorlage definiert. Für jeden Sprungpunkt definieren diese Attributwerte den Namen, den Text (die im Vorlagenfenster angezeigte Beschreibung) und einen Hinweis (der als Hinweis angezeigt wird, wenn Sie den Mauszeiger über eine Vorlage im Vorlagenfenster führen).&lt;br /&gt;
&lt;br /&gt;
===Geben Sie den Code ein, und speichern Sie die Vorlage===&lt;br /&gt;
&lt;br /&gt;
# Geben Sie den Code für die Vorlage in die verschachtelten eckigen Klammern ([ ]) im Tag &amp;amp;lt;code&amp;amp;gt;&amp;amp;lt;![CDATA[]]&amp;amp;gt;&amp;amp;lt;/code&amp;amp;gt; ein.  &lt;br /&gt;
#:Im Folgenden ist beispielsweise der XML-Code für die Vorlage &amp;quot;point&amp;quot; dargestellt. point.xml enthält drei Punkte (PointName, PointText, PointHint), und die Coderepräsentation der Vorlage &amp;quot;point&amp;quot; befindet sich im Tag &amp;amp;lt;code&amp;amp;gt;&amp;amp;lt;![CDATA[]]&amp;amp;gt;&amp;amp;lt;/code&amp;amp;gt;:&lt;br /&gt;
#:&lt;br /&gt;
#: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;codetemplate	xmlns=&amp;quot;http://schemas.borland.com/Delphi/2005/codetemplates&amp;quot;&lt;br /&gt;
				version=&amp;quot;1.0.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;template name=&amp;quot;point&amp;quot; invoke=&amp;quot;manual&amp;quot;&amp;gt;&lt;br /&gt;
		 &amp;lt;description&amp;gt;&lt;br /&gt;
			Create a point in code templates&lt;br /&gt;
		 &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;&lt;br /&gt;
			Embarcadero&lt;br /&gt;
		&amp;lt;/author&amp;gt;&lt;br /&gt;
		 &amp;lt;point name=&amp;quot;PointName&amp;quot;&amp;gt;&lt;br /&gt;
			 &amp;lt;text&amp;gt;&lt;br /&gt;
				 PointName&lt;br /&gt;
			 &amp;lt;/text&amp;gt;&lt;br /&gt;
			 &amp;lt;hint&amp;gt;&lt;br /&gt;
                 Name of the point&lt;br /&gt;
			 &amp;lt;/hint&amp;gt;&lt;br /&gt;
		 &amp;lt;/point&amp;gt;&lt;br /&gt;
		 &amp;lt;point name=&amp;quot;PointText&amp;quot;&amp;gt;&lt;br /&gt;
			 &amp;lt;text&amp;gt;&lt;br /&gt;
				 PointText&lt;br /&gt;
			 &amp;lt;/text&amp;gt;&lt;br /&gt;
			 &amp;lt;hint&amp;gt;&lt;br /&gt;
			   Text for the point&lt;br /&gt;
			 &amp;lt;/hint&amp;gt;&lt;br /&gt;
		 &amp;lt;/point&amp;gt;&lt;br /&gt;
		 &amp;lt;point name=&amp;quot;PointHint&amp;quot;&amp;gt;&lt;br /&gt;
			 &amp;lt;text&amp;gt;&lt;br /&gt;
				 PointHint&lt;br /&gt;
			 &amp;lt;/text&amp;gt;&lt;br /&gt;
			 &amp;lt;hint&amp;gt;&lt;br /&gt;
               Text for the point&#039;s hint&lt;br /&gt;
			 &amp;lt;/hint&amp;gt;&lt;br /&gt;
		 &amp;lt;/point&amp;gt;&lt;br /&gt;
		 &amp;lt;code language=&amp;quot;XML&amp;quot; delimiter=&amp;quot;|&amp;quot;&amp;gt;&amp;lt;![CDATA[&#039;&#039;&#039;&amp;lt;point name=&amp;quot;|PointName|&amp;quot;&amp;gt;&lt;br /&gt;
|*|&amp;lt;text&amp;gt;&lt;br /&gt;
|*||*||PointName|&lt;br /&gt;
|*|&amp;lt;/text&amp;gt;&lt;br /&gt;
|*|&amp;lt;hint&amp;gt;&lt;br /&gt;
|*||*||PointHint|&lt;br /&gt;
|*|&amp;lt;/hint&amp;gt;&lt;br /&gt;
&amp;lt;/point&amp;gt;|end|&#039;&#039;&#039;]]&amp;gt;&lt;br /&gt;
		 &amp;lt;/code&amp;gt;&lt;br /&gt;
	&amp;lt;/template&amp;gt;&lt;br /&gt;
&amp;lt;/codetemplate&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:2. Wählen Sie im Pulldown-Menü &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Datei&#039;&#039;&#039; &amp;lt;/font&amp;gt; des &#039;&#039;&#039;Quelltext-Editors&#039;&#039;&#039; den Befehl &#039;&#039;&#039;Speichern&#039;&#039;&#039; aus (oder drücken Sie &amp;amp;lt;code&amp;amp;gt;STRG+S&amp;amp;lt;/code&amp;amp;gt;). Ihre neue Vorlage wird nun in der Hierarchie im &#039;&#039;&#039;[[Vorlagen (Fenster)|Vorlagenfenster]]&#039;&#039;&#039; angezeigt. &lt;br /&gt;
:Vorlagen werden standardmäßig im Verzeichnis {{Path|{{CodeTemplatesPath}}}} gespeichert; sie müssen in diesem Verzeichnis gespeichert werden, damit sie in der Vorlagenliste in der IDE angezeigt werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vollständige Informationen zu &#039;&#039;&#039;Live-Vorlagen&#039;&#039;&#039;, einschließlich von Links zu detaillierteren Verfahren und Demos, finden Sie unter [http://delphi.wikia.com/wiki/Live_Templates_Technical_Info http://delphi.wikia.com/wiki/Live_Templates_Technical_Info].&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Live-Vorlagen|Live-Vorlagen]]&lt;br /&gt;
*[[Verwendung von Live-Vorlagen|Verwendung von Live-Vorlagen]]&lt;br /&gt;
*[[Quelltext-Editor anpassen|Quelltext-Editor anpassen]]&lt;br /&gt;
* [[Vorlagen (Fenster)|Vorlagen (Fenster)]]&lt;br /&gt;
* [http://delphi.wikia.com/wiki/Live_Templates_Technical_Info http://delphi.wikia.com/wiki/Live_Templates_Technical_Info]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mit RAD Studio arbeiten]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Creating Live Templates]]&lt;br /&gt;
[[fr:Création de templates dynamiques]]&lt;br /&gt;
[[ja:ライブ テンプレートを作成する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Sync-Bearbeitungsmodus_verwenden&amp;diff=215157</id>
		<title>Sync-Bearbeitungsmodus verwenden</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Sync-Bearbeitungsmodus_verwenden&amp;diff=215157"/>
		<updated>2021-09-25T00:08:57Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Refactoring – Anleitungen - Index|Refactoring – Anleitungen - Index}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Neues Video für 2010!&#039;&#039;&#039; [http://www.youtube.com/watch?v=CoeSsbtJUHY Video: &amp;lt;!--Sync-Bearbeitung in RAD Studio 2010--&amp;gt;Sync Editing in {{Product}} 2010, von Mike Rozlog]&lt;br /&gt;
&lt;br /&gt;
Im Sync-Bearbeitungsmodus lassen sich Bezeichner, die mehrfach im ausgewählten Quelltext vorhanden sind, gleichzeitig bearbeiten. Beispielsweise müssen Sie in einer Prozedur, in der &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Label1&amp;lt;/span&amp;gt; dreimal vorkommt, nur den ersten Bezeichner bearbeiten, die beiden anderen Vorkommen werden automatisch entsprechend geändert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So verwenden Sie den Sync-Bearbeitungsmodus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Wählen Sie im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; einen Block aus, in dem ein Bezeichner mehrfach vorhanden ist.&lt;br /&gt;
# Klicken Sie in der Leiste am linken Fensterrand auf das Symbol &#039;&#039;&#039;Sync-Bearbeitungsmodus&#039;&#039;&#039;[[Image:SyncEdit.jpg|Symbol Sync-Bearbeitungsmodus]] oder drücken Sie &amp;lt;code&amp;gt;Umsch+Strg+J&amp;lt;/code&amp;gt;. &lt;br /&gt;
#:Der erste des mehrfach vorhandenen Bezeichners wird optisch hervorgehoben, die anderen werden unterstrichen. Der Cursor befindet sich auf dem ersten Bezeichner. Wenn der Quelltext mehrere Gruppen mit identischen Bezeichnern enthält, können Sie mit der Taste &amp;lt;code&amp;gt;Tab&amp;lt;/code&amp;gt; zwischen den Bezeichnern im ausgewählten Bereich hin- und herwechseln.&lt;br /&gt;
# Beginnen Sie mit der Bearbeitung des ersten Bezeichners. Sobald Sie diesen ändern, wird dieselbe Änderung automatisch für die anderen Bezeichner übernommen. Der Bezeichner wird standardmäßig ersetzt. Um den Bezeichner zu ändern, ohne ihn zu ersetzen, verwenden Sie die Pfeiltasten, bevor Sie mit der Eingabe beginnen.&lt;br /&gt;
# Nach der Änderung der Bezeichner können Sie den Sync-Bearbeitungsmodus beenden, indem Sie auf das Symbol &#039;&#039;&#039;Sync-Bearbeitungsmodus&#039;&#039;&#039; klicken oder die Taste &amp;lt;code&amp;gt;Esc&amp;lt;/code&amp;gt; drücken.&lt;br /&gt;
&lt;br /&gt;
{{Note| Die Sync-Bearbeitungsfunktion ermittelt mehrfach vorhandene Bezeichner anhand eines Textstring-Vergleichs. Es erfolgt also keine Analyse der Bezeichner. So wird beispielsweise nicht zwischen zwei gleichnamigen Bezeichnern verschiedener Typen unterschieden, die sich in unterschiedlichen Gültigkeitsbereichen befinden. Aus diesem Grund eignet sich der Sync-Bearbeitungsmodus für kleine Quelltextabschnitte, etwa eine Methode oder eine Textseite. Zur Änderung größerer Quelltextabschnitte sollten Sie das Refactoring (siehe [[Refactoring von Anwendungen - Index]]) verwenden.}}&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [http://www.youtube.com/watch?v=CoeSsbtJUHY Video: &amp;lt;!--Sync-Bearbeitung in RAD Studio 2010--&amp;gt;Sync Editing in {{Product}} 2010, von Mike Rozlog]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mit {{Product}} arbeiten]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Using Sync Edit]]&lt;br /&gt;
[[fr:Utilisation de la synchronisation des modifications]]&lt;br /&gt;
[[ja:同期編集を使用する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Verwenden_des_Positionsmarkenstapels&amp;diff=215156</id>
		<title>Verwenden des Positionsmarkenstapels</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Verwenden_des_Positionsmarkenstapels&amp;diff=215156"/>
		<updated>2021-09-24T23:05:12Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|So bearbeiten Sie Code im Quelltext-Editor}}&lt;br /&gt;
&lt;br /&gt;
Mithilfe des &#039;&#039;&#039;Positionsmarkenstapels&#039;&#039;&#039; können Sie entlang eines vordefinierten Pfades durch den Quellcode navigieren.&lt;br /&gt;
&lt;br /&gt;
{{Note| Diese Dokumentation bezieht sich auf &#039;&#039;&#039;Stapelpositionsmarken&#039;&#039;&#039;; Informationen zu &#039;&#039;&#039;umschaltbaren Positionsmarken&#039;&#039;&#039; finden Sie unter [[Positionsmarken verwenden|Positionsmarken verwenden]].}}&lt;br /&gt;
&lt;br /&gt;
Der Positionsmarkenstapel ist eine nur über die Tastatur verfügbare Funktion, mit der Sie Ihrem Code aufeinandergestapelte [[Quelltext-Editor#Stapelpositionsmarken|Positionsmarken]] hinzufügen können. Anhand der Positionsmarken können Sie dann zurücknavigieren. Dabei wird immer zur letzten Positionsmarke des Stapels navigiert, also zur letzten Positionsmarke, die auf dem Stapel abgelegt wurde.&lt;br /&gt;
&lt;br /&gt;
Der Positionsmarkenstapel bietet die folgenden Funktionen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Tastenkombination&lt;br /&gt;
! Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| Ablegen einer Stapelpositionsmarke&lt;br /&gt;
| {{Key|Strg+K &amp;amp;amp; Strg+G}}&lt;br /&gt;
| Setzt eine Stapelpositionsmarke an der aktuellen Cursorposition.&lt;br /&gt;
|-&lt;br /&gt;
| Aufnehmen einer Stapelpositionsmarke&lt;br /&gt;
| {{Key|Strg+Q &amp;amp;amp; Strg+G}}&lt;br /&gt;
| Verschiebt den Cursor an die letzte Stapelpositionsmarke und entfernt die Positionsmarke.&lt;br /&gt;
|-&lt;br /&gt;
| Vertauschen einer Stapelpositionsmarke&lt;br /&gt;
| {{Key|Strg+Alt+Q &amp;amp;amp; Strg+Alt+G}}&lt;br /&gt;
| Vertauscht die letzte gesetzte Positionsmarke und die Cursorposition.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Ablegen von Positionsmarken==&lt;br /&gt;
&lt;br /&gt;
# Setzen Sie den Cursor an die Position, an der eine Positionsmarke eingefügt werden soll.&lt;br /&gt;
# Drücken Sie die Tastenkombination {{Key|Strg+K &amp;amp;amp; Strg+G}}.&lt;br /&gt;
#: Die Positionsmarke [[File:BookmarkStack.png|30px]] wird an der Position des Cursors eingefügt.&lt;br /&gt;
&lt;br /&gt;
==Aufnehmen von Stapelpositionsmarken==&lt;br /&gt;
&lt;br /&gt;
# Setzen Sie den Cursor an eine beliebige Position im Quelltext-Editor.&lt;br /&gt;
# Drücken Sie die Tastenkombination {{Key|Strg+Q &amp;amp;amp; Strg+G}}.&lt;br /&gt;
#: Der Quelltext-Editor setzt den Cursor an die Position der zuletzt abgelegten Positionsmarke und entfernt diese Positionsmarke.&lt;br /&gt;
&lt;br /&gt;
==Vertauschen von Positionsmarken==&lt;br /&gt;
&lt;br /&gt;
# Setzen Sie den Cursor an eine beliebige Position im Quelltext-Editor.&lt;br /&gt;
# Drücken Sie die Tastenkombination {{Key|Strg+Alt+Q &amp;amp;amp; Strg+Alt+G}}.&lt;br /&gt;
#: Der Quelltext-Editor vertauscht die aktuelle Cursorposition mit der letzten Positionsmarke:&lt;br /&gt;
#:* An der aktuellen Cursorposition wird eine Positionsmarke eingefügt.&lt;br /&gt;
#:* Der Quelltext-Editor setzt den Cursor an die Position der zuletzt abgelegten Positionsmarke und entfernt diese Positionsmarke.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Positionsmarken verwenden|Positionsmarken verwenden]]&lt;br /&gt;
* [[Quelltext-Editor#Positionsmarken|Positionsmarken (Quelltext-Editor)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mit RAD Studio arbeiten]]&lt;br /&gt;
[[Category:Berlin]]&lt;br /&gt;
&lt;br /&gt;
[[en:Using the Bookmark Stack]]&lt;br /&gt;
[[fr:Utilisation de la pile de signets]]&lt;br /&gt;
[[ja:ブックマーク スタックの利用]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Positionsmarken_verwenden&amp;diff=215155</id>
		<title>Positionsmarken verwenden</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Positionsmarken_verwenden&amp;diff=215155"/>
		<updated>2021-09-24T14:00:48Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Tip|}} and the {{Note|}} templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|So bearbeiten Sie Code im Quelltext-Editor}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note| Diese Positionsmarken beziehen sich auf [[Quelltext-Editor#Umschaltbare Positionsmarken|umschaltbare Positionsmarken]]; einen anderen Typ von Positionsmarken finden Sie unter [[Quelltext-Editor#Stapelpositionsmarken|Stapelpositionsmarken]].}}&lt;br /&gt;
&lt;br /&gt;
Sie können eine Stelle im Quelltext mit einer Positionsmarke markieren und diese von einer beliebigen Stelle in der Datei aus ansteuern. Es können bis zu zehn Positionsmarken definiert werden. Positionsmarken werden zusammen mit der Datei gespeichert und stehen nach dem erneuten Öffnen wieder im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So setzen Sie eine Positionsmarke:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Klicken Sie im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; mit der rechten Maustaste auf die Quelltextzeile, in der eine Positionsmarke gesetzt werden soll. Das Kontextmenü des &#039;&#039;&#039;Quelltext-Editors&#039;&#039;&#039; wird geöffnet.&lt;br /&gt;
# Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Positionsmarken umschalten &amp;amp;gt; Positionsmarke n&#039;&#039;&#039;&amp;lt;/font&amp;gt;, wobei &#039;&#039;n&#039;&#039; eine Zahl zwischen 0 und 9 ist.&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
::Ein Positionsmarkensymbol wird in der Leiste am linken Rand des &#039;&#039;&#039;Quelltext-Editors&#039;&#039;&#039; angezeigt. Zum Beispiel: [[File:Bookmark0.jpg|Positionsmarkensymbol]] ist Positionsmarke-Nr. 1, [[File:Bookmark9.jpg|Positionsmarkensymbol]] ist Positionsmarke-Nr. 9.&lt;br /&gt;
&lt;br /&gt;
{{Tip| Sie können eine Positionsmarke auch mit Tastaturkürzeln definieren. Drücken Sie dazu die Tastenkombination &amp;lt;code&amp;gt;Strg+Umschalt&amp;lt;/code&amp;gt;, und geben Sie eine Zahl zwischen 0 und 9 ein.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So wechseln Sie zu einer Positionsmarke:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Klicken Sie im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; mit der rechten Maustaste, um das Kontextmenü zu öffnen.&lt;br /&gt;
# Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Zu Positionsmarken &amp;amp;gt; Positionsmarke n&#039;&#039;&#039;&amp;lt;/font&amp;gt;, wobei &#039;&#039;n&#039;&#039; eine Zahl zwischen 0 und 9 ist.&lt;br /&gt;
&lt;br /&gt;
{{Tip| Sie können auch mit Tastaturkürzeln zu einer Positionsmarke wechseln. Drücken Sie dazu &amp;lt;code&amp;gt;Strg&amp;lt;/code&amp;gt; und die Nummer der gewünschten Positionsmarke. Mit &amp;lt;code&amp;gt;Strg+1&amp;lt;/code&amp;gt; gelangen Sie beispielsweise zu der Quelltextzeile, in der die Positionsmarke 1 platziert wurde. }}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So entfernen Sie eine Positionsmarke:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Klicken Sie im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; mit der rechten Maustaste, um das Kontextmenü zu öffnen.&lt;br /&gt;
# Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Positionsmarken umschalten &amp;amp;gt; Positionsmarke n&#039;&#039;&#039;&amp;lt;/font&amp;gt;, wobei &#039;&#039;n&#039;&#039; die Nummer der Positionsmarke ist, die entfernt werden soll.&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
::Die Positionsmarke wird nun aus der Leiste am linken Rand des &#039;&#039;&#039;Quelltext-Editors&#039;&#039;&#039; entfernt.&lt;br /&gt;
&lt;br /&gt;
{{Tip| Um alle Positionsmarken in einer Datei zu löschen, wählen Sie &amp;lt;font color&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Positionsmarken löschen&#039;&#039;&#039;&amp;lt;/font&amp;gt;. }}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Quelltext-Editor#Umschaltbare Positionsmarken|Umschaltbare Positionsmarken]]&lt;br /&gt;
* [[Quelltext-Editor#Stapelpositionsmarken|Stapelpositionsmarken]]&lt;br /&gt;
* [[Verwenden des Positionsmarkenstapels|Verwenden des Positionsmarkenstapels]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mit RAD Studio arbeiten]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Using Bookmarks]]&lt;br /&gt;
[[fr:Utilisation des signets]]&lt;br /&gt;
[[ja:しおりを使用する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Desktop-Layouts_speichern&amp;diff=215152</id>
		<title>Desktop-Layouts speichern</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Desktop-Layouts_speichern&amp;diff=215152"/>
		<updated>2021-09-01T03:19:22Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|So verwenden Sie die IDE}}&lt;br /&gt;
&lt;br /&gt;
Um zwischen Desktop-Layouts zu wechseln, wählen Sie das gewünschte Layout in der Dropdown-Liste der Symbolleiste &#039;&#039;&#039;Desktop&#039;&#039;&#039; aus.&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt, wie Ihr aktuelles Desktop-Layout gespeichert wird, so dass ihr eigenes Layout im Untermenü  &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Ansicht &amp;amp;gt; Desktops&#039;&#039;&#039; &amp;lt;/font&amp;gt; und in der Symbolleiste verfügbar ist.&lt;br /&gt;
&lt;br /&gt;
{{Note| Das aktuelle Desktop-Layout wird in einer DSK-Datei gespeichert, wenn Sie auf der Seite &amp;lt;font color&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Tools &amp;amp;gt; Optionen &amp;amp;gt; [[Umgebungsoptionen|Umgebungsoptionen]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; die Option &#039;&#039;&#039;Projekt-Desktop automatisch speichern&#039;&#039;&#039; auswählen.  Beim nächsten Öffnen Ihres Projekts werden der gespeicherte Desktop und andere Einstellungen, einschließlich Haltepunkte, überwachte Ausdrücke und geöffnete Dateien, wiederhergestellt. Wenn Sie mit mehreren Bildschirmen arbeiten, speichert {{Product}} zudem den Bildschirm, den Sie für die Anzeige des IDE-Fensters verwendet haben.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So speichern Sie ein Desktop-Layout:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Ansicht &amp;amp;gt; Desktops &amp;amp;gt; [[Desktop speichern|Desktop speichern]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
# Geben Sie einen Namen für den Desktop ein.&lt;br /&gt;
# Klicken Sie auf &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So wählen Sie ein Debug-Desktop-Layout aus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Ansicht &amp;amp;gt; Desktops &amp;amp;gt; [[Debug-Desktop auswählen|Debug-Desktop einstellen]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
# Wählen Sie aus der Dropdown-Liste das Layout aus, das Sie als Desktop-Layout für das Debuggen verwenden möchten.&lt;br /&gt;
# Klicken Sie auf &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
*[[Projektoptionen einstellen|Projektoptionen einstellen]]&lt;br /&gt;
*[[Überblick zum Debuggen|Überblick zum Debuggen]]&lt;br /&gt;
*[[Symbolleiste Desktop|Symbolleiste Desktop]]&lt;br /&gt;
*[[Desktops|Desktops anzeigen (Befehl)]]&lt;br /&gt;
* [[Umgebungsoptionen|Umgebungsoptionen]]&lt;br /&gt;
[[Category:Mit RAD Studio arbeiten]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Saving Desktop Layouts]]&lt;br /&gt;
[[fr:Enregistrement des dispositions du bureau]]&lt;br /&gt;
[[ja:デスクトップ レイアウトを保存する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Daten-Explorer_(IDE-Tutorial)&amp;diff=215151</id>
		<title>Daten-Explorer (IDE-Tutorial)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Daten-Explorer_(IDE-Tutorial)&amp;diff=215151"/>
		<updated>2021-08-31T23:16:42Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Ein erster Blick auf die IDE - Index (IDE-Tutorial)}}&lt;br /&gt;
&lt;br /&gt;
[[Image:TutorialIDEFig2-28.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Abbildung 2-28. Liste der verfügbaren Datenbankverbindungen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Variables|Product}} enthält eine Reihe von Datenbank- und Verbindungstools zur vereinfachten Entwicklung von Datenbankanwendungen.&lt;br /&gt;
&lt;br /&gt;
Der &#039;&#039;Daten-Explorer&#039;&#039; wird standardmäßig in der rechten oberen Ecke der IDE angezeigt. Mit dem &#039;&#039;&#039;Daten-Explorer&#039;&#039;&#039; erstellen und ändern Sie Datenbankverbindungen, die Sie später in Ihren Datenbankanwendungen einsetzen können.&lt;br /&gt;
&lt;br /&gt;
{{Note| {{f|dbexpress|Der &#039;&#039;&#039;[[Daten-Explorer|Daten-Explorer]]&#039;&#039;&#039; arbeitet mit Datenbanken, die dbExpress- oder FireDAC-Verbindungstypen verwenden.|Der &#039;&#039;&#039;[[Daten-Explorer|Daten-Explorer]]&#039;&#039;&#039; arbeitet mit Datenbanken, die dbExpress- oder FireDAC-Verbindungstypen verwenden.}}}}&lt;br /&gt;
&lt;br /&gt;
Nach dem Erstellen einer Datenbankverbindung können Sie mit dem &#039;&#039;&#039;Daten-Explorer&#039;&#039;&#039; Tabellen, Sichten, Prozeduren, Funktionen und Synonyme erstellen, anzeigen und bearbeiten. Wenn Sie auf einen Eintrag in dem erweiterten Knoten eines Verbindungstyps klicken, wird ein Menü angezeigt, mit dem Sie die Daten aktualisieren oder einen neuen Eintrag erstellen können.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen finden Sie unter [[Daten-Explorer|Daten-Explorer]].&lt;br /&gt;
&lt;br /&gt;
==Weiter==&lt;br /&gt;
&lt;br /&gt;
[[Objektablage (IDE-Tutorial)|Objektablage]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Data Explorer (IDE Tutorial)]]&lt;br /&gt;
[[fr:Explorateur de données (tutoriel de l&#039;EDI)]]&lt;br /&gt;
[[ja:［データ エクスプローラ］（IDE チュートリアル）]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Tastatur-Makro_aufzeichnen&amp;diff=215150</id>
		<title>Tastatur-Makro aufzeichnen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Tastatur-Makro_aufzeichnen&amp;diff=215150"/>
		<updated>2021-08-31T07:01:10Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|So bearbeiten Sie Code im Quelltext-Editor}}&lt;br /&gt;
&lt;br /&gt;
Sie können eine Abfolge von Tastenanschlägen als Makro aufzeichnen, während Sie Quelltext bearbeiten. Nach der Aufzeichnung des Makros können die aufgezeichneten Tastenanschläge während der aktuellen Arbeitssitzung in der IDE beliebig oft wiederholt werden. Nur ein Makro ist zu einer Zeit vorhanden, deshalb wird das aktuelle Makro bei der Aufzeichnung eines anderen Makros ersetzt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So zeichnen Sie ein Makro auf:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Klicken Sie im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; unten im Quelltextfenster auf die Schaltfläche &#039;&#039;&#039;Makro aufzeichnen&#039;&#039;&#039; [[File:MacroRecord.png|Makro aufzeichnen]] (oder drücken Sie &amp;lt;code&amp;gt;Strg+Umschalt+R&amp;lt;/code&amp;gt;), um den Aufzeichnungsmodus zu aktivieren.&lt;br /&gt;
# Drücken Sie die Tasten, die aufgezeichnet werden sollen.&lt;br /&gt;
# Ist die Eingabe der Tastenfolge beendet, klicken Sie auf die Schaltfläche &#039;&#039;&#039;Aufzeichnung beenden&#039;&#039;&#039; [[File:MacroStop.png|Aufzeichnung beenden]] (oder drücken Sie erneut &amp;lt;code&amp;gt;Strg+Umschalt+R&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Um ein weiteres Makro aufzuzeichnen, wiederholen Sie die vorherigen Schritte.&lt;br /&gt;
&lt;br /&gt;
{{Note| Das neu aufgezeichnete Makro ersetzt das zuvor aufgezeichnete Makro.}}&lt;br /&gt;
&lt;br /&gt;
Das Makro steht nun in der aktuellen Arbeitssitzung in der IDE zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So führen Sie ein Makro aus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Setzen Sie den Cursor im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; an diejenige Position im Quelltext, an der das Makro ausgeführt werden soll.&lt;br /&gt;
# Führen Sie einen der folgenden Schritte aus:&lt;br /&gt;
#* Klicken Sie auf die Schaltfläche &#039;&#039;&#039;Makro abspielen&#039;&#039;&#039; [[File:MacroPlayback.png|Makro abspielen]], um das Makro auszuführen.Wenn die Schaltfläche nur schemenhaft sichtbar ist, steht kein Makro zur Verfügung.&lt;br /&gt;
#* Drücken Sie alternativ &amp;lt;code&amp;gt;Strg+Umschalt+P&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Standard-Tastaturvorlage]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mit {{Product}} arbeiten]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Recording a Keystroke Macro]]&lt;br /&gt;
[[fr:Enregistrement d&#039;une macro de touches]]&lt;br /&gt;
[[ja:キー入力マクロを記録する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Vorlage:Notes&amp;diff=215149</id>
		<title>Vorlage:Notes</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Vorlage:Notes&amp;diff=215149"/>
		<updated>2021-08-31T03:46:18Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;&lt;br /&gt;
    background-color: #def2f8;&lt;br /&gt;
    border-left: 10px solid #0f628a;&lt;br /&gt;
    color: black;&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
    margin: 1em 0;&lt;br /&gt;
    white-space: normal;&lt;br /&gt;
    word-wrap: break-word;&amp;quot;&amp;gt;&#039;&#039;&#039;Hinweise:&#039;&#039;&#039; {{{1}}}&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Ein_erster_Blick_auf_die_IDE_-_Index_(IDE-Tutorial)&amp;diff=215148</id>
		<title>Ein erster Blick auf die IDE - Index (IDE-Tutorial)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Ein_erster_Blick_auf_die_IDE_-_Index_(IDE-Tutorial)&amp;diff=215148"/>
		<updated>2021-08-23T23:52:59Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Tutorial: Verwenden der IDE}}&lt;br /&gt;
{{Note| Lesen Sie auch das Hilfethema mit demselben Namen &#039;&#039;&#039;[[Ein erster Blick auf die IDE]]&#039;&#039;&#039; für einen Überblick der Elemente der IDE.}}&lt;br /&gt;
&lt;br /&gt;
==Themen==&lt;br /&gt;
* [[Startansicht und Willkommensseite|Startansicht und Willkommensseite]]&lt;br /&gt;
* [[Symbolleisten (IDE-Tutorial)|Symbolleisten]]&lt;br /&gt;
* [[Tools - Index (IDE-Tutorial)|Tools]]&lt;br /&gt;
** [[Optionen für eine erleichterte Bedienung (IDE-Tutorial)|Optionen für eine erleichterte Bedienung]]&lt;br /&gt;
** [[Formular-Designer (IDE-Tutorial)|Formular-Designer]]&lt;br /&gt;
** [[Tool-Palette (IDE-Tutorial)|Tool-Palette]]&lt;br /&gt;
** [[Objektinspektor (IDE-Tutorial)|Objektinspektor]]&lt;br /&gt;
** [[Projektverwaltung (IDE-Tutorial)|Projektverwaltung]]&lt;br /&gt;
** [[Datei-Browser (IDE-Tutorial)|Datei-Browser]]&lt;br /&gt;
** [[Strukturansicht (IDE-Tutorial)|Strukturansicht]]&lt;br /&gt;
** [[Der Quelltext-Editor - Index (IDE-Tutorial)|Der Quelltext-Editor]]&lt;br /&gt;
*** [[Navigation durch den Quelltext (IDE-Tutorial)|Navigation durch den Quelltext]]&lt;br /&gt;
*** [[Formatieren des Quellcodes (IDE-Tutorial)|Formatieren des Quellcodes]]&lt;br /&gt;
*** [[Code-Folding (IDE-Tutorial)|Code-Folding]]&lt;br /&gt;
*** [[Änderungsbalken (IDE-Tutorial)|Änderungsbalken]]&lt;br /&gt;
*** [[Blockkommentare (IDE-Tutorial)|Blockkommentare]]&lt;br /&gt;
*** [[Live-Vorlagen (IDE-Tutorial)|Live-Vorlagen]]&lt;br /&gt;
*** [[Sync-Bearbeitungsmodus (IDE-Tutorial)|Sync-Bearbeitungsmodus]]&lt;br /&gt;
*** [[Code Insight (IDE-Tutorial)|Code Insight]]&lt;br /&gt;
*** [[Refactoring (IDE-Tutorial)|Refactoring]]&lt;br /&gt;
*** [[Tastatur-Makros (IDE-Tutorial)|Tastatur-Makros]]&lt;br /&gt;
*** [[To-Do-Listen (IDE-Tutorial)|To-Do-Listen]]&lt;br /&gt;
* [[Versionsverwaltung (IDE-Tutorial)|Versionsverwaltung]]&lt;br /&gt;
* [[Integration von Versionskontrollsystemen in der IDE (IDE-Tutorial)|Subversion-Integration in der IDE]]&lt;br /&gt;
* [[Daten-Explorer (IDE-Tutorial)|Daten-Explorer]]&lt;br /&gt;
* [[Objektablage (IDE-Tutorial)|Objektablage]]&lt;br /&gt;
* [[IDE Insight (IDE-Tutorial)|IDE Insight]]	&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==	&lt;br /&gt;
* [[{{Product}} – Interaktive Einführungen]] {{f|radstudio|&lt;br /&gt;
* &#039;&#039;&#039;[[Ein erster Blick auf die IDE]]&#039;&#039;&#039; in [[Einführung in {{Variables|Product}}]]}}&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Tour of the IDE Index (IDE Tutorial)]]&lt;br /&gt;
[[fr:Présentation de l&#039;EDI - Index (tutoriel de l&#039;EDI)]]&lt;br /&gt;
[[ja:IDE の概要（IDE チュートリアル）：インデックス]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Native_FireMonkey-Windows-Steuerelemente&amp;diff=215138</id>
		<title>Native FireMonkey-Windows-Steuerelemente</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Native_FireMonkey-Windows-Steuerelemente&amp;diff=215138"/>
		<updated>2021-06-09T16:20:41Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Native FireMonkey-Steuerelemente}}&lt;br /&gt;
&lt;br /&gt;
In diesem Thema werden die &#039;&#039;&#039;nativen Windows-Steuerelemente&#039;&#039;&#039; von {{FM}} beschrieben.&lt;br /&gt;
&lt;br /&gt;
==Darstellung von nativen {{FM}}-Windows-Steuerelementen==&lt;br /&gt;
&lt;br /&gt;
{{FM}} bietet für bestimmte visuelle Komponenten eine native Darstellung.&lt;br /&gt;
&lt;br /&gt;
* Setzen Sie die Eigenschaft [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] auf {{Const|Styled}}, um das Steuerelement in der Standard-{{FM}}-Darstellung anzuzeigen. {{Const|Styled}} ist der Vorgabewert von [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]].&lt;br /&gt;
* Setzen Sie die Eigenschaft [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] auf {{Const|Platform}}, um dieses Steuerelement im nativen Stil anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
==Verfügbare native {{FM}}-Windows-Steuerelemente==&lt;br /&gt;
&lt;br /&gt;
Die folgende Liste enthält alle Steuerelemente, die eine native Darstellung unterstützen:&lt;br /&gt;
&lt;br /&gt;
* [[lib_de:FMX.Edit.TEdit|TEdit]]&lt;br /&gt;
* [[lib_de:FMX.Memo.TMemo|TMemo]]&lt;br /&gt;
* [[lib_de:FMX.ScrollBox.TPresentedScrollBox|TPresentedScrollBox]]&lt;br /&gt;
* [[lib_de:FMX.ScrollBox.TPresentedVertScrollBox|TPresentedVertScrollBox]]&lt;br /&gt;
* [[lib_de:FMX.ScrollBox.TPresentedHorzScrollBox|TPresentedHorzScrollBox]]&lt;br /&gt;
* [[lib_de:FMX.ScrollBox.TPresentedFramedScrollBox|TPresentedFramedScrollBox]]&lt;br /&gt;
* [[lib_de:FMX.ScrollBox.TPresentedFramedVertScrollBox|TPresentedFramedVertScrollBox]]&lt;br /&gt;
&lt;br /&gt;
==Visuelle Änderungen an nativen Windows-Steuerelementen==&lt;br /&gt;
&lt;br /&gt;
Wenn die Eigenschaft [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] einer visuellen Komponente auf {{Const|Platform}} gesetzt wird, ändert sich die Darstellung dieses Steuerelements im [[Formular-Designer|Formular-Designer]], um anzuzeigen, dass es sich um ein natives Steuerelement handelt, und ein kleines telefonähnliches Symbol erscheint in der rechten unteren Ecke.&lt;br /&gt;
Die folgenden Bilder zeigen das Aussehen von nativen Windows-Steuerelementen zur Entwurfszeit und zur Laufzeit, wenn die Eigenschaft [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] auf {{Const|Styled}} bzw. {{Const|Platform}} gesetzt ist:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Steuerelement&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Entwurfszeit&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Laufzeit&lt;br /&gt;
|-&lt;br /&gt;
! {{Const|Styled}}&lt;br /&gt;
! {{Const|Platform}}&lt;br /&gt;
! {{Const|Styled}}&lt;br /&gt;
! {{Const|Platform}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[lib_de:FMX.Edit.TEdit|TEdit]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TEditStyled DT win.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TEditPlatform DT win.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TEditStyled RT win.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TEditPlatform RT win.png|200px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[lib_de:FMX.Memo.TMemo|TMemo]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TMemo Styled DT win.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TMemo Platform DT win.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TMemo Styled RT win.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TMemo Platform RT win.png|200px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[lib_de:FMX.ScrollBox.TPresentedScrollBox|TPresentedScrollBox]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TPresentedScrollBox Styled DT.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TPresentedScrollBox Platform DT.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TPresentedScrollBox Styled RT win.png|200px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TPresentedScrollBox Platform RT win.png|200px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Hinzufügen von nativen Windows-Steuerelementen zu Anwendungen==&lt;br /&gt;
&lt;br /&gt;
So fügen Sie Ihrer Anwendung native Windows-Steuerelemente hinzu:&lt;br /&gt;
&lt;br /&gt;
# Fügen Sie dem Formular eine Komponente hinzu, die die native Darstellung unterstützt ([[#Verfügbare native FireMonkey-Windows-Steuerelemente|Liste der unterstützten Steuerelemente]]).&lt;br /&gt;
# Setzen Sie im [[Objektinspektor|Objektinspektor]] auf der Registerkarte &#039;&#039;&#039;Eigenschaften&#039;&#039;&#039; die Eigenschaft [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] auf {{Const|Platform}}. Die Darstellung der Komponente zur Entwurfszeit ändert sich (siehe [[#Visuelle Änderungen an nativen Windows-Steuerelementen|Visuelle Änderungen an nativen Windows-Steuerelementen]]).&lt;br /&gt;
# Führen Sie Ihre Anwendung aus.&lt;br /&gt;
&lt;br /&gt;
Alternativ können Sie den Wert von [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] zur Laufzeit ändern. Um die native Darstellung für ein [[lib_de:FMX.Edit.TEdit|TEdit]]-Steuerelement zu ändern, fügen Sie Ihrer Anwendung den folgenden Code hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;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;
Edit1.ControlType := TPresentedControl.TControlType.Platform;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&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;
Edit1-&amp;gt;ControlType = TPresentedControl::TControlType::Platform;&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;
==Kombinieren nativer Windows-Steuerelemente mit nicht nativen Steuerelementen==&lt;br /&gt;
&lt;br /&gt;
Die gemeinsame Verwendung von nicht nativen Steuerelementen mit nativen Steuerelementen wird nicht empfohlen, weil die nativen Steuerelemente die Z-Reihenfolge des Formulars nicht unterstützen: Ein natives Steuerelement befindet sich immer über allen Steuerelementen auf dem Formular. Es gibt aber einige nicht native Steuerelemente, die Sie mit nativen Steuerelementen kombinieren können, weil sie die Z-Reihenfolge unterstützen.&lt;br /&gt;
&lt;br /&gt;
Die folgende Liste enthält alle Steuerelemente, die über die Eigenschaft [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] verfügen und daher mit nativen Steuerelementen kombiniert werden können:&lt;br /&gt;
&lt;br /&gt;
* [[lib_de:FMX.MultiView.TMultiView.ControlType|TMultiView]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TButton|TButton]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TSpeedButton|TSpeedButton]]&lt;br /&gt;
* [[lib_de:FMX.Colors.TColorButton|TColorButton]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TCornerButton|TCornerButton]]&lt;br /&gt;
* [[lib_de:FMX.ExtCtrls.TPopupBox|TPopupBox]]&lt;br /&gt;
* &#039;&#039;&#039;TMagnifierGlass&#039;&#039;&#039;&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TPanel|TPanel]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TLabel|TLabel]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TCheckBox|TCheckBox]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TRadioButton|TRadioButton]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TGroupBox|TGroupBox]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TStatusBar|TStatusBar]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TToolBar|TToolBar]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TProgressBar|TProgressBar]]&lt;br /&gt;
* [[lib_de:FMX.StdCtrls.TTrackBar|TTrackBar]]&lt;br /&gt;
* [[lib_de:FMX.ListView.TListView|TListView]]&lt;br /&gt;
&lt;br /&gt;
Die folgende Liste enthält alle Steuerelemente, die nicht über die Eigenschaft [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] verfügen, aber trotzdem mit nativen Steuerelementen kombiniert werden können:&lt;br /&gt;
&lt;br /&gt;
* [[lib_de:FMX.WebBrowser.TWebBrowser|TWebBrowser]]&lt;br /&gt;
* [[lib_de:FMX.Media.TMediaPlayer|TMediaPlayer]]&lt;br /&gt;
&lt;br /&gt;
==Vorteile von nativen Windows-Steuerelementen==&lt;br /&gt;
&lt;br /&gt;
Einige Steuerelemente unterstützen zusätzliche Funktionen, wenn sie als native Steuerelemente verwendet werden: &lt;br /&gt;
&lt;br /&gt;
===TMemo und TEdit===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Zusätzliche Einträge im Kontextmenü:&#039;&#039;&#039;&lt;br /&gt;
** Rückgängig: Die letzte Aktion rückgängig machen.&lt;br /&gt;
** Von rechts nach links lesen: Ändert die Lese-Reihenfolge und richtet den Text an der rechten Seite des Steuerelements aus. Weitere Informationen finden Sie unter [https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/lang_right_to_left.mspx?mfr=true Microsoft Documentation - To set right-to-left reading order (EN)].&lt;br /&gt;
** Unicode-Steuerzeichen anzeigen: Zeigt [[Wikipedia:Unicode control characters|Unicode-Steuerzeichen]] an.&lt;br /&gt;
** Unicode-Steuerzeichen einfügen: Fügt ein Unicode-Steuerzeichen ein.&lt;br /&gt;
**  IME öffnen: IME ist die Abkürzung für {{Code|Eingabemethoden-Editor}}. Er ermöglicht die Eingabe von Japanisch, Chinesisch und Koreanisch in unterstützende Anwendungen unter anderen Versionen von Windows.&lt;br /&gt;
&lt;br /&gt;
Die oben aufgeführten Funktionen stehen im Kontextmenü des Steuerelements zur Verfügung, daher unterscheiden sich die Kontextmenüs für Memo-Steuerelemente oder Eingabe-Steuerelemente für {{Const|Styled}} und {{Const|Platform}}:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Steuerelement&lt;br /&gt;
! Kontextmenü ({{Const|Styled}})&lt;br /&gt;
! Kontextmenü ({{Const|Platform}})&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[lib_de:FMX.Memo.TMemo|TMemo]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TMemo ContextMenu Styled RT win.png|150px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TMemo ContextMenu Platform RT win.png|300px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[lib_de:FMX.Edit.TEdit|TEdit]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TEdit ContextMenu Styled RT win.png|150px]]&lt;br /&gt;
|&lt;br /&gt;
[[File:TEdit ContextMenu Platform RT win.png|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Beschränkungen von nativen Windows-Steuerelementen==&lt;br /&gt;
&lt;br /&gt;
Bevor Sie die nativen Steuerelemente verwenden, sollten Sie die folgenden Beschränkungen beachten:&lt;br /&gt;
&lt;br /&gt;
* Native Steuerelemente unterstützen keine vordefinierten oder benutzerdefinierten Stile. Wenn die Eigenschaft [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|ControlType]] eines nativen Steuerelements auf {{Const|Platform}} gesetzt ist, wird der Wert der Eigenschaft [[lib_de:FMX.Controls.TStyledControl.StyleLookup|StyleLookup]] ignoriert.&lt;br /&gt;
* Native Steuerelemente unterstützen transparente Hintergründe nur begrenzt. Transparente Steuerelemente werden nicht korrekt gezeichnet.&lt;br /&gt;
* Native Steuerelemente unterstützen die Z-Reihenfolge des Formulars nicht: Ein natives Steuerelement befindet sich immer über allen auf dem Formular verfügbaren {{FM}}-Steuerelementen. Einzelheiten finden Sie unter [[#Kombinieren nativer Windows-Steuerelemente mit nicht nativen Steuerelementen|Kombinieren nativer Windows-Steuerelemente mit nicht nativen Steuerelementen]].&lt;br /&gt;
* Die folgenden Ereignisbehandlungsroutinen werden nicht unterstützt und können nicht implementiert werden:&lt;br /&gt;
** [[lib_de:FMX.Controls.TControl.OnApplyStyleLookup|OnApplyStyleLookup]]&lt;br /&gt;
** [[lib_de:FMX.Controls.TControl.OnDblClick|OnDblClick]]&lt;br /&gt;
** [[lib_de:FMX.Controls.TControl.OnGesture|OnGesture]]&lt;br /&gt;
* Die folgenden Ereignisse werden ausgelöst, aber Sie können sie nicht wie beabsichtigt verwenden (zum Überschreiben der Visualisierung des Steuerelements). Sie können Sie jedoch als Indikator für den Zeitpunkt verwenden, zu dem das System das Steuerelement neu zeichnet:&lt;br /&gt;
** [[lib_de:FMX.Controls.TControl.OnPaint|OnPaint]]&lt;br /&gt;
** [[lib_de:FMX.Controls.TControl.OnPainting|OnPainting]]&lt;br /&gt;
&lt;br /&gt;
Es gibt auch einige steuerelementspezifische Beschränkungen: &lt;br /&gt;
&lt;br /&gt;
===TMemo===&lt;br /&gt;
&lt;br /&gt;
Das folgende Ereignis wird nicht unterstützt und kann nicht in [[lib_de:FMX.Memo.TMemo|TMemo]] implementiert werden:&lt;br /&gt;
&lt;br /&gt;
* [[lib_de:FMX.Memo.TMemo.OnViewportPositionChange|OnViewportPositionChange]]&lt;br /&gt;
&lt;br /&gt;
===TMemo und TEdit===&lt;br /&gt;
&lt;br /&gt;
Durch Festlegen der Parameterwerte in der {{Code|OnKeyXX}}-Ereignisbehandlungsroutine wird die Tastatureingabe nicht unterdrückt.&lt;br /&gt;
Wenn Sie beispielsweise in der Ereignisbehandlungsroutine [[lib_de:FMX.Controls.TControl.OnKeyDown|OnKeyDown]] {{Code|1=KeyChar&amp;amp;nbsp;:= #0;}} festlegen und die {{Const|s}}-Taste drücken, gibt die native Darstellung weiterhin das {{Const|s}} aus, während in der mit Stilen versehenen Darstellung keine Ausgabe erfolgt.&lt;br /&gt;
&lt;br /&gt;
Die obige Beschränkung betrifft diese Ereignisbehandlungsroutinen:&lt;br /&gt;
&lt;br /&gt;
* [[lib_de:FMX.Controls.TControl.OnKeyDown|OnKeyDown]]&lt;br /&gt;
* [[lib_de:FMX.Controls.TControl.OnKeyUp|OnKeyUp]]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Ereignisse werden nicht unterstützt und können nicht in [[lib_de:FMX.Memo.TMemo|TMemo]] und [[lib_de:FMX.Edit.TEdit|TEdit]] implementiert werden:&lt;br /&gt;
&lt;br /&gt;
* {{Code|OnValidate}}&lt;br /&gt;
&lt;br /&gt;
{{Note| Das Ereignis {{Code|OnValidating}} wird in der {{FM}}- und der nativen Darstellung von [[lib_de:FMX.Memo.TMemo|TMemo]] und [[lib_de:FMX.Edit.TEdit|TEdit]] ausgelöst.}}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Native FireMonkey-Steuerelemente|Native FireMonkey-Steuerelemente]]&lt;br /&gt;
* [[Native FireMonkey-iOS-Steuerelemente|Native FireMonkey-iOS-Steuerelemente]]&lt;br /&gt;
* [[lib_de:FMX.Controls.Presentation.TPresentedControl.ControlType|TPresentedControl.ControlType]]&lt;br /&gt;
* [[Anpassen der Darstellung von FireMonkey-Listenansichten|Anpassen der Darstellung von {{FM}}-Listenansichten]]&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
&lt;br /&gt;
* [[samp_en:FMX.NativeControls Sample|{{FM}} Native Controls]] (Beispiel)&lt;br /&gt;
&lt;br /&gt;
[[Category:Geräteübergreifend]]&lt;br /&gt;
[[Category:FMX]]&lt;br /&gt;
[[Category:Seattle]]&lt;br /&gt;
&lt;br /&gt;
[[en:FireMonkey Native Windows Controls]]&lt;br /&gt;
[[fr:Contrôles Windows natifs de FireMonkey]]&lt;br /&gt;
[[ja:FireMonkey のネイティブ Windows コントロール]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Benachrichtigungen_%C3%BCber_Daten%C3%A4nderungen_(FireDAC)&amp;diff=215136</id>
		<title>Benachrichtigungen über Datenänderungen (FireDAC)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Benachrichtigungen_%C3%BCber_Daten%C3%A4nderungen_(FireDAC)&amp;diff=215136"/>
		<updated>2021-05-05T20:05:05Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
{{Parent|Arbeiten mit Anweisungen (FireDAC)}}&lt;br /&gt;
&lt;br /&gt;
Mit der Funktion &amp;quot;Benachrichtigungen über Datenänderungen&amp;quot; können Sie Datenbank-Clients über Datenänderungen für einige Datenbanken benachrichtigen. Diese Funktion findet Änderungen in Daten in einer Datenbank (wie {{code|INSERT}}-, {{code|UPDATE}}- oder {{code|DELETE}}-Operationen) und benachrichtigt den Datenbank-Client über diese Änderungen.&lt;br /&gt;
&lt;br /&gt;
FireDAC unterstützt die Funktion &amp;quot;Benachrichtigungen über Änderungen&amp;quot; für verschiedene Datenbanken (siehe [[#Unterstützung für Änderungsbenachrichtigungen|Unterstützung für Änderungsbenachrichtigungen]]). FireDAC verwendet verschiedene Methoden, um diese Funktion, abhängig von der Art der Datenbank, zu implementieren. Dieses Thema beschreibt die allgemeinen Informationen der Funktion &amp;quot;Benachrichtigungen über FireDAC-Datenänderungen&amp;quot; und gibt dann einige [[#Benachrichtigungen über Datenänderungen für Spezifisches DBMS|Gesichtspunkte für spezifische DBMS-Implementierungen]].&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über Mechanismen für Datenbankwarnungen finden Sie unter [[Datenbankwarnungen (FireDAC)|Datenbankwarnungen]].&lt;br /&gt;
&lt;br /&gt;
==Einrichten der Funktion &amp;quot;Benachrichtigung über FireDAC-Datenänderungen&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Um die Funktion &amp;quot;Benachrichtigung über FireDAC-Datenänderungen&amp;quot; auf einer FireDAC-Anwendung einzurichten, sollten Sie die folgenden Hauptkomponenten hinzufügen und konfigurieren:&lt;br /&gt;
&lt;br /&gt;
* Ein [[lib_de:FireDAC.Comp.Client.TFDConnection|TFDConnection]]-Objekt -  Dies ist das FireDAC-Verbindungsobjekt, mit dem eine Verbindung zu einem DBMS hergestellt wird.&lt;br /&gt;
{{Note|In diesem Abschnitt wird davon ausgegangen, dass Sie das Tutorial [[Erste Schritte bei der Verwendung von FireDAC|Erste Schritte bei der Verwendung von FireDAC]], das Anleitungen zum Entwickeln einer einfachen VCL-Anwendung zur Verbindung mit Demo-Datenbanken bereitstellt, gelesen und verstanden haben.}}&lt;br /&gt;
&lt;br /&gt;
* Ein [[lib_de:FireDAC.Comp.Client.TFDQuery|TFDQuery]]-Objekt - Dies ist das FireDAC-Objekt, mit dem Datenmengen, die SQL-Abfragen ausführen können, implementiert werden. Sie sollten die folgenden Grundeigenschaften der SQL-Abfrage, die festgestellt wird, implementieren:&lt;br /&gt;
** Die [[lib_de:FireDAC.Comp.Client.TFDRdbmsDataSet.Connection|Connection]]-Eigenschaft muss gesetzt werden, damit das FireDAC-Verbindungsobjekt angegeben wird.&lt;br /&gt;
** Die [[lib_de:FireDAC.Comp.Client.TFDQuery.SQL|SQL]]-Eigenschaft muss mit der gewünschten SQL-Anweisung gesetzt werden. &lt;br /&gt;
** Die [[lib_de:FireDAC.Comp.Client.TFDQuery.ChangeAlerter|ChangeAlerter]]-Eigenschaft muss gesetzt werden, damit das FireDAC-Warnobjekt, das mit Ihrer Datenmenge assoziiert ist, angegeben wird.&lt;br /&gt;
** Die [[lib_de:FireDAC.Comp.Client.TFDQuery.ChangeAlertName|ChangeAlertName]]-Eigenschaft kann gesetzt werden, damit der Name der Basistabelle, deren Änderungen festgestellt wurden, angegeben wird.&lt;br /&gt;
&lt;br /&gt;
* Ein [[lib_de:FireDAC.Comp.Client.TFDEventAlerter|TFDEventAlerter]]-Objekt - Dies ist das Objekt, mit dem die Benachrichtigungen über Datenbankänderungen behandelt werden. Sie sollten die folgenden Grundeigenschaften der Ereigniswarnung konfigurieren:&lt;br /&gt;
** Mit der [[lib_de:FireDAC.Comp.Client.TFDEventAlerter.Options|Options]]-Eigenschaft kann eine [[lib_de:FireDAC.Stan.Option.TFDEventAlerterOptions|Menge von Eigenschaften]] festgelegt werden, um das Verhalten der Ereigniswarnung zu kontrollieren.&lt;br /&gt;
** Die [[lib_de:FireDAC.Comp.Client.TFDEventAlerter.SubscriptionName|SubscriptionName]]-Eigenschaft muss gesetzt werden, damit der Substriptionsname der Änderungsbenachrichtigung angegeben wird. Es hängt vom Typ der Datenbank, die Sie verwenden, ab.&lt;br /&gt;
{{Note| Aktivieren Sie [[lib_de:FireDAC.Comp.Client.TFDEventAlerter|TFDEventAlerter]] vor der Ausführung der gefundenen [[lib_de:FireDAC.Comp.Client.TFDQuery|TFDQuery]]. Dies ist nötig, da die Anweisung mit der Abfragebenachrichtigungs-API vor der Ausführung registriert werden muss. Dies ist eine Anforderung vom SQL-Server und Oracle.}}&lt;br /&gt;
&lt;br /&gt;
==Antworten auf Änderungsbenachrichtigungen==&lt;br /&gt;
&lt;br /&gt;
Beim Empfang einer Benachrichtigung über Datenänderungen ruft FireDAC die Änderungen automatisch ab und aktualisiert die Datenmenge. Dieser Prozess wird von den folgenden Eigenschaften der Komponente [[lib_de:FireDAC.Comp.Client.TFDEventAlerter|TFDEventAlerter]] gesteuert:&lt;br /&gt;
&lt;br /&gt;
* [[lib_de:FireDAC.Comp.Client.TFDCustomEventAlerter.Options|FireDAC.Comp.Client.TFDCustomEventAlerter.Options]].[[lib_de:FireDAC.Stan.Option.TFDEventAlerterOptions.AutoRefresh|AutoRefresh]]&lt;br /&gt;
* [[lib_de:FireDAC.Comp.Client.TFDCustomEventAlerter.Options|FireDAC.Comp.Client.TFDCustomEventAlerter.Options]].[[lib_de:FireDAC.Stan.Option.TFDEventAlerterOptions.Timeout|Timeout]]&lt;br /&gt;
* [[lib_de:FireDAC.Comp.Client.TFDCustomEventAlerter.Options|FireDAC.Comp.Client.TFDCustomEventAlerter.Options]].[[lib_de:FireDAC.Stan.Option.TFDEventAlerterOptions.MergeData|MergeData]]&lt;br /&gt;
&lt;br /&gt;
Jedes der Demo-Projekte, die in [[#Benachrichtigungen über Datenänderungen für Spezifisches DBMS|Benachrichtigungen über Datenänderungen für Spezifisches DBMS]] aufgelistet sind, zeigt, wie das oben genannte Szenario verwendet wird.&lt;br /&gt;
&lt;br /&gt;
Außerdem können Sie die [[lib_de:FireDAC.Comp.Client.TFDCustomEventAlerter.OnAlert|TFDCustomEventAlerter.OnAlert]]-Ereignisbehandlungsroutine verwenden, die nach dem Ermitteln jeder Änderung der gefundenen Datenmenge ausgelöst wird. Mit dieser Ereignisbehandlungsroutine können Sie Ihr benutzerdefiniertes Szenario implementieren, um auf Benachrichtigungen über Datenänderungen zu antworten. Der folgende Code implementiert eine [[lib_de:FireDAC.Comp.Client.TFDCustomEventAlerter.OnAlert|OnAlert]]-Ereignisbehandlungsroutine, die eine Benachrichtigung anzeigt, wenn jede Daten in einer Datenbank geändert werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&#039;&#039;&#039;{{Delphi}}&#039;&#039;&#039;:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure TForm1.FDEventAlerter1Alert(ASender: TFDCustomEventAlerter;&lt;br /&gt;
  const AEventName: string; const AArgument: Variant);&lt;br /&gt;
begin&lt;br /&gt;
ShowMessage(&#039;Detected changes to the demo dataset.&#039;);&lt;br /&gt;
end;&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;{{CBuilder}}:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void __fastcall TForm1::FDEventAlerter1Alert(TFDCustomEventAlerter *ASender, const UnicodeString AEventName,&lt;br /&gt;
          const Variant &amp;amp;AArgument)&lt;br /&gt;
{&lt;br /&gt;
  ShowMessage(&amp;quot;Detected changes to the demo dataset. &amp;quot;);&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;
==Unterstützung für Änderungsbenachrichtigungen==&lt;br /&gt;
&lt;br /&gt;
Die folgende Tabelle enthält eine Zusammenfassung der für das jeweilige DBMS verwendeten Änderungsbenachrichtigung.&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;DBMS&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Typ der Änderungsbenachrichtigung&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Delta-Typ&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;TFDEventAlerter.SubscriptionName&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |InterBase&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Event Alerter (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Change Views (automatisches Delta)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Abonnementname von InterBase Change View&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |MS SQL Server&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Query Update Notification (automatische Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left; vertical-align: middle;&amp;quot; | Oracle&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |DBMS_ALERT / DBMS_PIPE (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Continuous Query Notification (CQN)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Automatisches Delta&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Jeder Wert&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Advantage Database&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Event Alerter (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Sybase SQL Anywhere&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Meldungen (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |DataSnap-Server&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Callbacks (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |DB2&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |DBMS_ALERT / DBMS_PIPE (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Firebird&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Event Alerter (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Informix&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |DBMS_ALERT (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |PostgreSQL&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Ereignisbenachrichtigung (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |SQLite&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Event Alerter (manuelle Benachrichtigung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Keiner (vollständige Datenmengenaktualisierung)&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |Benachrichtigungsmeldungstext&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Benachrichtigungen über Datenänderungen für Spezifisches DBMS==&lt;br /&gt;
&lt;br /&gt;
Dieser Abschnitt gibt einige Gesichtpunkte zur Implementierung der Funktion &amp;quot;Benachrichtigung über Datenänderungen&amp;quot; für verschiedene Datenbanken.&lt;br /&gt;
&lt;br /&gt;
===InterBase Change Views===&lt;br /&gt;
&lt;br /&gt;
Die Funktion Change Views ist die Interbase-Methode zur Implementierung von Benachrichtigungen über Datenbankänderungen. Weitere Informationen finden Sie unter [http://docwiki.embarcadero.com/InterBase/XE7/en/Change_Views Change Views (EN)].&lt;br /&gt;
&lt;br /&gt;
Vor der Entwicklung einer InterBase-Anwendung, die die Funktion Change Views verwendet, sollten Sie eine Subskription von Change Views erstellen. Der folgende Quelltextabschnitt ist ein Beispiel für die Erstellung der Subskription:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
/* Create the xxx subscription to track changes to the &#039;yyy&#039; table */&lt;br /&gt;
CREATE SUBSCRIPTION xxx ON yyy FOR ROW (INSERT, UPDATE, DELETE);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen zur Konfigurierung der Funktion Change Views finden Sie in dem Demo-Projekt unter:&lt;br /&gt;
&lt;br /&gt;
* {{SamplesMenu}} und zu &#039;&#039;&#039;Object Pascal\Database\FireDAC\Samples\DBMS Specific\InterBase\ChangeView\Generic&#039;&#039;&#039; navigieren.&lt;br /&gt;
&lt;br /&gt;
===Oracle CQN===&lt;br /&gt;
&lt;br /&gt;
De Funktion Continuous Query Notification (CQN) ist die Oracle-Implementierung der Funktion &amp;quot;Benachrichtigung über Datenänderungen&amp;quot;. Weitere Informationen finden Sie unter [http://docs.oracle.com/cd/B28359_01/appdev.111/b28395/oci10new.htm#CJGHFEDD Continuous Query Notification (EN)].&lt;br /&gt;
&lt;br /&gt;
Um die Oracle-CQN-Funktion zu konfigurieren, sollten Sie die folgenden Gesichtspunkte in Betracht ziehen:&lt;br /&gt;
&lt;br /&gt;
* Der Oracle-Client muss die &#039;&#039;&#039;Änderungsbenachrichtigung&#039;&#039;&#039;-Rechte besitzen. Der folgende Quelltextabschnitt ist ein Beispiel dafür, wie der Benutzer dieses Recht verwendet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
/* Give change notification privilege to the xxx Oracle user */&lt;br /&gt;
GRANT DBMS_CHANGE_NOTIFICATION TO xxx;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*  Die [[lib_de:FireDAC.Comp.Client.TFDQuery.SQL|SQL]]-Eigenschaft sollte die [[Verwenden von Oracle mit FireDAC#Implicit ROWIDs|{{code|ROWID}}-Spalten]] der {{code|SELECT}} Liste für die Basistabelle hinzufügen. Zum Beispiel: {{code|SELECT t.ROWID, t.* FROM table t}}.&lt;br /&gt;
{{Note| Der {{code|ROWID}}-Bezeichner ist ein [[Eindeutige Kennzeichnungsfelder (FireDAC)|Eindeutige Kennzeichnungsfeld (FireDAC) (FireDAC)]] für einer Zeile in einer Datenbank. Es wird in der Zeit erstellt, in der die Zeile in die Tabelle eingefügt wird, und freigegeben wird, wenn sie entfernt wird. ROWID-Werte haben verschiedenen wichtige Verwendungen; sie sind z. B. der schnellste Weg, um auf eine Reihe zuzugreifen.}}&lt;br /&gt;
&lt;br /&gt;
* Die folgenden Eigenschaften des [[lib_de:FireDAC.Comp.Client.TFDEventAlerter|TFDEventAlerter]]-Objekts sollten wie folgt konfiguriert werden:&lt;br /&gt;
** Setzen Sie die [[lib_de:FireDAC.Comp.Client.TFDEventAlerter.Options|Options]].[[lib_de:FireDAC.Stan.Option.TFDEventAlerterOptions.Kind|Kind]]-Eigenschaft auf {{code|QueryNotifies}}.&lt;br /&gt;
** Setzen Sie die [[lib_de:FireDAC.Comp.Client.TFDEventAlerter.SubscriptionName|SubscriptionName]]-Eigenschaft auf jeden Wert. Diese Eigenschaft kann nicht leer sein. Andernfalls ist die Abfrage völlig, statt inkrementell, aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen zur Konfiguration der Oracle-CQN-Funktion finden Sie unter dem Beispiel [[samp_en:FireDAC.Oracle CQN Sample|FireDAC Oracle CQN]].&lt;br /&gt;
&lt;br /&gt;
====Bekannte Oracle-Probleme====&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu Versionen der 11.2-Datenbank, können einige Versionen von 11.2-Client-Software keine Änderungsbenachrichtigungen, OCI-Callbacks oder Advanced Queuing (AQ)-Benachrichtigungen empfangen. Dies ist ein bekanntes Oracle-Problem. Weitere Informationen finden Sie auf der folgenden Oracle-[https://support.oracle.com/epmos/faces/DocumentDisplay?id=1310859.1 Seite (EN)].&lt;br /&gt;
&lt;br /&gt;
===Microsoft-SQL===&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen zur Konfigurierung der Funktion &amp;quot;Benachrichtigungen über Datenänderungen&amp;quot; für eine MSSQL-Datenbank finden Sie in dem Demo-Projekt unter:&lt;br /&gt;
&lt;br /&gt;
* {{SamplesMenu}} und navigieren Sie zu &#039;&#039;&#039;Object Pascal\Database\FireDAC\Samples\DBMS Specific\MSSQL\QueryNotify&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Datenbankwarnungen (FireDAC)|Datenbankwarnungen (FireDAC)]]&lt;br /&gt;
* [[lib_de:FireDAC.Comp.Client.TFDEventAlerter|FireDAC.Comp.Client.TFDEventAlerter]]&lt;br /&gt;
* [[lib_de:FireDAC.Comp.Client.TFDQuery|FireDAC.Comp.Client.TFDQuery]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Benachrichtigungen uber Datenanderungen (FireDAC)}}&lt;br /&gt;
[[Category:FireDAC]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Data Change Notifications (FireDAC)]]&lt;br /&gt;
[[fr:Notifications de changements de données (FireDAC)]]&lt;br /&gt;
[[ja:データ変更通知（FireDAC）]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Einen_unbenannten_Thread_in_einen_benannten_konvertieren&amp;diff=215135</id>
		<title>Einen unbenannten Thread in einen benannten konvertieren</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Einen_unbenannten_Thread_in_einen_benannten_konvertieren&amp;diff=215135"/>
		<updated>2021-05-05T16:41:20Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Einen Thread benennen}}&lt;br /&gt;
&lt;br /&gt;
Sie können einen unbenannten Thread in einen benannten Thread umwandeln. Wenn Sie beispielsweise über eine Thread-Klasse verfügen, die mit {{Delphi}} 6 oder einer früheren Version erstellt wurde, so können Sie diese in einen benannten Thread konvertieren.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;So konvertieren Sie einen unbenannten Thread in {{Delphi}} in einen benannten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
Fügen Sie die Unit Windows in die &#039;&#039;&#039;uses&#039;&#039;&#039;-Klausel der Unit ein, in der Ihr Thread deklariert ist: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
uses&lt;br /&gt;
    Classes {$IFDEF MSWINDOWS} , Windows {$ENDIF};&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Fügen Sie dem &#039;&#039;&#039;interface&#039;&#039;&#039;-Abschnitt Ihrer Thread-Klasse die Methode &#039;&#039;SetName&#039;&#039; hinzu: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
type&lt;br /&gt;
TMyThread = class(TThread)&lt;br /&gt;
private&lt;br /&gt;
  procedure SetName;&lt;br /&gt;
protected&lt;br /&gt;
  procedure Execute; override;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fügen Sie den Record &#039;&#039;TThreadNameInfo&#039;&#039; und die Methode &#039;&#039;SetName&#039;&#039; in den &#039;&#039;&#039;implementation&#039;&#039;&#039;-Abschnitt ein: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
 {$IFDEF MSWINDOWS}&lt;br /&gt;
 type&lt;br /&gt;
 TThreadNameInfo = record&lt;br /&gt;
 FType: LongWord;     // must be 0x1000&lt;br /&gt;
 FName: PChar;        // pointer to name (in user address space)&lt;br /&gt;
 FThreadID: LongWord; // thread ID (-1 indicates caller thread)&lt;br /&gt;
 FFlags: LongWord;    // reserved for future use, must be zero&lt;br /&gt;
   end;&lt;br /&gt;
 {$ENDIF}&lt;br /&gt;
 { TMyThread }&lt;br /&gt;
 procedure TMyThread.SetName;&lt;br /&gt;
 {$IFDEF MSWINDOWS}&lt;br /&gt;
 var&lt;br /&gt;
 ThreadNameInfo: TThreadNameInfo;&lt;br /&gt;
 {$ENDIF}&lt;br /&gt;
 begin&lt;br /&gt;
 {$IFDEF MSWINDOWS}&lt;br /&gt;
 ThreadNameInfo.FType := $1000;&lt;br /&gt;
 ThreadNameInfo.FName := &#039;MyThreadName&#039;;&lt;br /&gt;
 ThreadNameInfo.FThreadID := $FFFFFFFF;&lt;br /&gt;
 ThreadNameInfo.FFlags := 0;&lt;br /&gt;
 try&lt;br /&gt;
 RaiseException( $406D1388, 0, sizeof(ThreadNameInfo) div sizeof(LongWord), @ThreadNameInfo );&lt;br /&gt;
  except&lt;br /&gt;
   end;&lt;br /&gt;
 {$ENDIF}&lt;br /&gt;
 end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Setzen Sie &#039;&#039;TThreadNameInfo&#039;&#039; auf den Namen der Thread-Klasse.}}&lt;br /&gt;
:Der Debugger erkennt die Exception und ermittelt den Thread-Namen aus der übergebenen Struktur. Bei der Fehlersuche zeigt der Debugger den Namen des Thread im Thread-Statusfenster im Feld &amp;quot;Thread-ID&amp;quot; an.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fügen Sie am Anfang der Methode &#039;&#039;Execute&#039;&#039; des Thread einen Aufruf für die neue Methode &#039;&#039;SetName&#039;&#039; ein: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure TMyThread.Execute;&lt;br /&gt;
begin&lt;br /&gt;
  SetName;&lt;br /&gt;
  { Place thread code here }&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;delphi&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l s=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;So konvertieren Sie einen unbenannten Thread in {{CBuilder}} in einen benannten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sie können einen unbenannten Thread in einen benannten Thread umwandeln. Wenn Sie beispielsweise über eine Thread-Klasse verfügen, die mit {{CBuilder}} 5 oder einer früheren Version erstellt wurde, so können Sie diese anhand der folgenden Schritte in einen benannten Thread konvertieren.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Fügen Sie Ihrer Thread-Klasse die Methode &#039;&#039;SetName&#039;&#039; hinzu:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void TMyThread::SetName() {&lt;br /&gt;
	THREADNAME_INFO info;&lt;br /&gt;
	info.dwType = 0x1000;&lt;br /&gt;
	info.szName = &amp;quot;MyThreadName&amp;quot;;&lt;br /&gt;
	info.dwThreadID = -1;&lt;br /&gt;
	info.dwFlags = 0;&lt;br /&gt;
	__try {&lt;br /&gt;
		RaiseException(0x406D1388, 0, sizeof(info) / sizeof(DWORD),&lt;br /&gt;
			(DWORD*)&amp;amp;info);&lt;br /&gt;
	}&lt;br /&gt;
	__except (EXCEPTION_CONTINUE_EXECUTION) {&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Setzen Sie &amp;lt;code&amp;gt;info.szName&amp;lt;/code&amp;gt; auf den Namen der Thread-Klasse.}}&lt;br /&gt;
&lt;br /&gt;
Der Debugger erkennt die Exception und ermittelt den Thread-Namen aus der übergebenen Struktur. Bei der Fehlersuche zeigt der Debugger den Namen des Thread im Thread-Statusfenster im Feld &amp;quot;Thread-ID&amp;quot; an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Fügen Sie am Anfang der Methode &#039;&#039;Execute&#039;&#039; des Thread einen Aufruf für die neue Methode &#039;&#039;SetName&#039;&#039; ein:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;void __fastcall TMyThread::Execute() {&lt;br /&gt;
	SetName();&lt;br /&gt;
	// ---- Place existing Execute method code here ----&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;l e=&amp;quot;cpp&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
*[[Einen Thread benennen|Einen Thread benennen]]&lt;br /&gt;
*[[Ähnlichen Threads verschiedene Namen zuweisen|Ähnlichen Threads verschiedene Namen zuweisen]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
&lt;br /&gt;
[[en:Converting an Unnamed Thread to a Named Thread]]&lt;br /&gt;
[[fr:Conversion d&#039;un thread anonyme en thread nommé]]&lt;br /&gt;
[[ja:名前のないスレッドを名前付きのスレッドに変換する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Ausf%C3%BChren_von_Anweisungen_(FireDAC)&amp;diff=215134</id>
		<title>Ausführen von Anweisungen (FireDAC)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Ausf%C3%BChren_von_Anweisungen_(FireDAC)&amp;diff=215134"/>
		<updated>2021-04-14T02:50:50Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Arbeiten mit Anweisungen (FireDAC)}} __TOC__&lt;br /&gt;
&lt;br /&gt;
==Verwenden von TFDConnection==&lt;br /&gt;
&lt;br /&gt;
[[lib_de:FireDAC.Comp.Client.TFDConnection|TFDConnection]] stellt [[lib_de:FireDAC.Comp.Client.TFDCustomConnection.ExecSQL|ExecSQL]]-Methoden bereit. Dabei handelt es sich um einfach zu verwendende überladene Methoden, die in folgenden Fällen hilfreich sind:&lt;br /&gt;
&lt;br /&gt;
* Es werden keine Ergebnismengen zurückgegeben.&lt;br /&gt;
* Ein SQL-Anweisung wird nur einmal ausgeführt, daher muss sie nicht im vorbereiteten Status gespeichert werden.&lt;br /&gt;
* Eine erweiterte Parameterkonfiguration ist nicht erforderlich.&lt;br /&gt;
* Eine SQL-Anwendungskonfiguration zur Entwurfszeit ist nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie beispielsweise die folgende Syntax, um DDL-Anweisungen auszuführen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
FDConnection1.ExecSQL(&#039;drop table testtab&#039;);&lt;br /&gt;
FDConnection1.ExecSQL(&#039;create table testtab (id integer, name varchar(10))&#039;);&lt;br /&gt;
FDConnection1.ExecSQL(&#039;insert into testtab values (1, &#039;&#039;FireDAC&#039;&#039;)&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie die folgende überladene Methode, um eine parametrisierte Abfrage auszuführen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
FDConnection1.ExecSQL(&#039;insert into testtab values (:id, :name)&#039;, [1, &#039;FireDAC&#039;]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TFDConnection stellt auch [[lib_de:FireDAC.Comp.Client.TFDCustomConnection.ExecSQLScalar|ExecSQLScalar]]-Methoden bereit, die sich von &#039;&#039;&#039;ExecSQL&#039;&#039;&#039;-Methoden unterscheiden, da sie einen einzelnen Ergebnismengenwert zurückgeben: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
sName := FDConnection1.ExecSQLScalar(&#039;select name from testtab where id = :id&#039;, [1]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Verwenden von TFDQuery==&lt;br /&gt;
&lt;br /&gt;
Im Allgemeinen wird [[lib_de:FireDAC.Comp.Client.TFDQuery|TFDQuery]] zur Entwurfszeit und/oder zur Laufzeit konfiguriert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Konfigurieren von TFDQuery zur Entwurfszeit===&lt;br /&gt;
&lt;br /&gt;
Legen Sie eine TFDQuery-Komponente auf einem Formular ab, um sie zur Entwurfszeit zu konfigurieren. [[lib_de:FireDAC.Comp.Client.TFDRdbmsDataSet.Connection|TFDQuery.Connection]] wird automatisch so festgelegt, dass auf eine TADConnection-Komponente in diesem Formular gezeigt wird, falls eine vorhanden ist. Doppelklicken Sie dann auf TFDQuery, um den Abfrage-Editor von FireDAC aufzurufen: &lt;br /&gt;
&lt;br /&gt;
[[File:AD QueryDlg.png]]&lt;br /&gt;
&lt;br /&gt;
Hier können Sie den SQL-Text und optional Parameter- und Makrowerte angeben und Optionen festlegen. &lt;br /&gt;
&lt;br /&gt;
Drücken Sie die Schaltfläche &#039;&#039;&#039;Ausführen&#039;&#039;&#039;, um den Editor zu schließen. Wenn eine Anweisung eine Ergebnismenge zurückgibt, wird diese im Bereich &#039;&#039;&#039;RecordSet&#039;&#039;&#039; angezeigt, und die Struktur der Ergebnismenge wird im Bereich &#039;&#039;&#039;Struktur&#039;&#039;&#039; angezeigt. Wenn das DBMS Meldungen oder Warnungen für eine Anweisung zurückgibt, werden diese im Bereich &#039;&#039;&#039;Meldungen&#039;&#039;&#039; angezeigt. Mit der Schaltfläche &#039;&#039;&#039;Nächstes RecordSet&#039;&#039;&#039; können Sie durch alle von einer Anweisung zurückgegebenen Ergebnismengen blättern. &lt;br /&gt;
&lt;br /&gt;
Wenn Sie DML-Anweisungen, wie &#039;&#039;&#039;UPDATE&#039;&#039;&#039;/&#039;&#039;&#039;INSERT&#039;&#039;&#039;/&#039;&#039;&#039;DELETE&#039;&#039;&#039;, testen, müssen Sie das Kontrollkästchen &#039;&#039;&#039;Automatisch zurücksetzen&#039;&#039;&#039; aktivieren, damit die von einer Anweisung durchgeführten Aktionen automatisch zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
Drücken Sie OK, um die Änderungen in TFDQuery zu speichern.&lt;br /&gt;
&lt;br /&gt;
===Verwenden von Parametern===&lt;br /&gt;
&lt;br /&gt;
Die Verwendung von parametrisierten Abfragen ist eins der bewährtesten Verfahren bei der Entwicklung von SQL-Datenbankanwendung. Die Hauptvorteile sind:&lt;br /&gt;
&lt;br /&gt;
* Sie können eine einzelne SQL-Anweisung zusammenstellen und sie mehrmals mit verschiedenen Parameterwerten einsetzen. Das DBMS erstellt den Ausführungsplan für die Anweisung nur einmal. Dadurch wird die Auslastung des DBMS-Moduls reduziert.&lt;br /&gt;
* Beim nächsten Ausführen der Anweisung werden nur die Parameterwerte an das DBMS-Modul übertragen. Dadurch wird die Auslastung des Netzwerks reduziert.&lt;br /&gt;
* Sie brauchen sich nicht um korrekte SQL-Konstantenformate zu kümmern, z. B. darum, wie in Microsoft Access-SQL eine Datumskonstante richtig angegeben wird.&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie die Syntax &#039;&#039;&#039;:&amp;amp;lt;Name&amp;amp;gt;&#039;&#039;&#039;, um einen Parametermarker im SQL-Text zu setzen. Weisen Sie dann die entsprechenden Werte mit der Params-Sammlung zu. Zum Beispiel: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
FDQuery1.SQL.Text := &#039;select * from tab where code = :Code&#039;;&lt;br /&gt;
FDQuery1.ParamByName(&#039;code&#039;).AsString := &#039;123&#039;;&lt;br /&gt;
FDQuery1.Open;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vor Ausführung der Abfrage müssen alle Parameter (&#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;DataType&#039;&#039;&#039; und &#039;&#039;&#039;ParamType&#039;&#039;&#039;) ausgefüllt werden. Auch &#039;&#039;&#039;Position&#039;&#039;&#039; sollte festgelegt werden. &lt;br /&gt;
&lt;br /&gt;
Wenn Sie die Eigenschaft SQL zuweisen und &#039;&#039;&#039;ResourceOptions.ParamCreate&#039;&#039;&#039; &#039;&#039;&#039;True&#039;&#039;&#039; ist, wird die Params-Sammlung automatisch gefüllt. &lt;br /&gt;
&lt;br /&gt;
{{Note| Nur &#039;&#039;&#039;TFDParam.Name&#039;&#039;&#039; und &#039;&#039;&#039;TFDParam.Position&#039;&#039;&#039; sind festgelegt. &#039;&#039;&#039;DataType&#039;&#039;&#039;, &#039;&#039;&#039;ParamType&#039;&#039;&#039; und andere Eigenschaften müssen in Ihrer Anwendung festgelegt werden. Die Parameter in der Params-Sammlung erscheinen in derselben Reihenfolge wie in der SQL-Anweisung. }}&lt;br /&gt;
&lt;br /&gt;
Sie können die Params-Sammlung auch im Code füllen. Dazu müssen Sie die automatische Parametererstellung durch Setzen von &#039;&#039;&#039;ResourceOptions.ParamCreate&#039;&#039;&#039; auf &#039;&#039;&#039;False&#039;&#039;&#039; deaktivieren. Zum Beispiel: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
FDQuery1.ResourceOptions.ParamCreate := False;&lt;br /&gt;
FDQuery1.SQL.Text := &#039;select * from tab where code = :Code&#039;;&lt;br /&gt;
with FDQuery1.Params do begin&lt;br /&gt;
  Clear;&lt;br /&gt;
  with Add do begin&lt;br /&gt;
    Name := &#039;CODE&#039;;&lt;br /&gt;
    DataType := ftString;&lt;br /&gt;
    Size := 10;&lt;br /&gt;
    ParamType := ptInput;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Parameter können an die SQL-Anweisung entweder per Name oder per Position gebunden werden. Mit der Eigenschaft Params.BindMode können Sie dies steuern:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;pbByName&#039;&#039;&#039;. Die Parameter in der Params-Sammlung werden durch die Eigenschaft &#039;&#039;&#039;Name&#039;&#039;&#039; an die entsprechenden Parametermarker gebunden. Wenn die SQL-Anweisung Parametermarker mit gleichen Namen hat, erscheint nur eine Instanz in Params.&lt;br /&gt;
* &#039;&#039;&#039;pbByNumber&#039;&#039;&#039;. Die Parameter in der Params-Sammlung werden durch die Eigenschaft &#039;&#039;&#039;Position&#039;&#039;&#039; an die entsprechenden Marker im SQL-Anweisungstext gebunden. Wenn die SQL-Anweisung Parametermarker mit gleichen Namen hat, erscheint jedes Vorkommen in Params. Wenn &#039;&#039;&#039;Position&#039;&#039;&#039; für Parameter nicht festgelegt ist, wird es automatisch bei der Anweisungsvorbereitung mithilfe der Parameterindizes zugewiesen. Die Position beginnt bei 1.&lt;br /&gt;
&lt;br /&gt;
Der Datentyp wird entweder explizit oder implizit durch Zuweisen eines Parameterwertes zur Eigenschaft &#039;&#039;&#039;Value&#039;&#039;&#039; oder &#039;&#039;&#039;AsXxxx&#039;&#039;&#039; festgelegt. Andernfalls wird [[lib_de:FireDAC.Stan.Option.TFDFormatOptions.DefaultParamDataType|FormatOptions.DefaultParamDataType]] verwendet. &lt;br /&gt;
&lt;br /&gt;
Wenn &#039;&#039;&#039;ParamType&#039;&#039;&#039; nicht angegeben ist, wird [[lib_de:FireDAC.Stan.Option.TFDResourceOptions.DefaultParamType|ResourceOptions.DefaultParamType]] verwendet. Standardmäßig sind alle Parameter nur Eingabeparameter. Zur Verwendung von Ausgabeparametern muss ParamType explizit angegeben werden. &lt;br /&gt;
&lt;br /&gt;
Die Eingabeparameterwerte müssen vor Ausführung der Abfrage festgelegt werden. Verwenden Sie dazu eine der folgenden Alternativen:&lt;br /&gt;
&lt;br /&gt;
* Weisen Sie Parameterwerte explizit zu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
FDQuery1.ParamByName(&#039;code&#039;).AsString := &#039;DA1001&#039;;&lt;br /&gt;
FDQuery1.Open;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verwenden Sie eine der überladenen &#039;&#039;&#039;ExecSQL&#039;&#039;&#039;- oder &#039;&#039;&#039;Open&#039;&#039;&#039;-Methoden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
FDQuery1.Open(&#039;&#039;, [&#039;DA1001&#039;]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um den Parameterwert auf &#039;&#039;&#039;Null&#039;&#039;&#039; zu setzen, geben Sie den Parameterdatentyp an und rufen dann die Methode &#039;&#039;&#039;Clear&#039;&#039;&#039; auf: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
with FDQuery1.ParamByName(&#039;name&#039;) do begin&lt;br /&gt;
  DataType := ftString;&lt;br /&gt;
  Clear;&lt;br /&gt;
end;&lt;br /&gt;
FDQuery1.ExecSQL;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf die Werte der Ausgabeparameter können Sie nach Ausführung der Abfrage zugreifen. Bei einigen SQL-Anweisungen und DBMSs müssen Sie eventuell zuerst alle Ergebnismengen verarbeiten, erst dann können die Werte der Ausgabeparameter abgerufen werden. Mit der Methode [[lib_de:FireDAC.Comp.Client.TFDAdaptedDataSet.GetResults|TFDAdaptedDataSet.GetResults]] können Sie die Übergabe der Ausgabeparameterwerte anfordern. Lesen Sie auch den Artikel [[Einheitliche Unterstützung für RETURNING (FireDAC)|Einheitliche Unterstützung für RETURNING]] über Ausgabeparameter in der RETURNING-Klausel von Firebird und Oracle.&lt;br /&gt;
&lt;br /&gt;
===Vorbereiten der Abfrage===&lt;br /&gt;
&lt;br /&gt;
Bevor eine Abfrage ausgeführt wird, muss sie vorbereitet werden. Dazu führt FireDAC automatisch die folgenden Aktionen durch:&lt;br /&gt;
&lt;br /&gt;
* Versetzen der Verbindung in den [[Herstellen von Verbindungen (FireDAC)|aktiven]] oder [[Offline-Modus von Verbindungen (FireDAC)|Online]]-Status.&lt;br /&gt;
* Überprüfen, ob alle Parameter korrekt festgelegt sind.&lt;br /&gt;
* [[Vorverarbeiten von Anweisungstext (FireDAC)|Vorverarbeiten des Anweisungstextes]].&lt;br /&gt;
* Optional Anwenden von [[lib_de:FireDAC.Stan.Option.TFDFetchOptions.RecsSkip|RecsSkip]] und [[lib_de:FireDAC.Stan.Option.TFDFetchOptions.RecsMax|RecsMax]] für den Anweisungstext.&lt;br /&gt;
* Optional Starten einer Transaktion für Firebird/InterBase-DBMSs, wenn keine aktive Verbindung vorhanden ist.&lt;br /&gt;
* Übertragen des endgültigen Anweisungstextes an die DBMS-API. Der endgültige Text wird aus der Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDCustomQuery.Text|TFDQuery.Text]] abgerufen.&lt;br /&gt;
&lt;br /&gt;
Während der Vorbereitung der Anweisung muss die Verbindung aktiv sein, und die Abfrage belegt die Serverressourcen. Verwenden Sie die Methoden &#039;&#039;&#039;Unprepare&#039;&#039;&#039; oder &#039;&#039;&#039;Disconnect&#039;&#039;&#039;, um die Vorbereitung der Abfrage aufzuheben und alle Ressourcen freizugeben. &lt;br /&gt;
&lt;br /&gt;
Wenn eine Anweisung nur einmal ausgeführt werden muss, setzen Sie [[lib_de:FireDAC.Stan.Option.TFDResourceOptions.DirectExecute|ResourceOptions.DirectExecute]] auf &#039;&#039;&#039;True&#039;&#039;&#039;. Bei einigen DBMSs (SQL Server, SQL Anywhere) wird dadurch die Ausführung beschleunigt, weil die zeitintensive Vorbereitung der SQL-Anweisung vermieden wird.&lt;br /&gt;
&lt;br /&gt;
===Ausführen der Abfrage===&lt;br /&gt;
&lt;br /&gt;
Mit den &#039;&#039;&#039;ExecSQL&#039;&#039;&#039;-Methoden führen Sie eine Abfrage aus, die keine Ergebnismenge zurückgibt. Wenn eine Abfrage eine Ergebnismenge zurückgibt, wird die Exception &#039;&#039;&#039;[FireDAC][Phys][MSAcc]-310. Anweisung, die Ergebnismengen zurückgibt, kann nicht ausgeführt werden&#039;&#039;&#039; ausgelöst. &lt;br /&gt;
&lt;br /&gt;
Mit den &#039;&#039;&#039;Open&#039;&#039;&#039;-Methoden führen Sie eine Abfrage aus, die eine Ergebnismenge zurückgibt, und öffnen diese Ergebnismenge. Wenn eine Abfrage keine Ergebnismengen zurückgibt, wird die Exception &#039;&#039;&#039;[FireDAC][Phys][MSAcc]-308. Anweisung, die keine Ergebnismengen zurückgibt, kann nicht geöffnet/definiert werden&#039;&#039;&#039; ausgelöst. &lt;br /&gt;
&lt;br /&gt;
Mit der Methode &#039;&#039;&#039;ExecuteOrOpen&#039;&#039;&#039; führen Sie eine Ad-hoc-Abfrage aus. &lt;br /&gt;
&lt;br /&gt;
{{Note| Die Abfrage kann [[Asynchrone Ausführung (FireDAC)|asynchron ausgeführt werden]]. Wenn es sich bei der Abfrage um einen Anweisungsstapel handelt, finden Sie unter &#039;&#039;&#039;[[Anweisungsstapel (FireDAC)|Anweisungsstapel]]&#039;&#039;&#039; Einzelheiten.}}&lt;br /&gt;
&lt;br /&gt;
===Die Exception &#039;&#039;&#039;Datentyp des Parameters wurde geändert&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
Wenn der Parametertyp nach dem ersten Aufruf von Prepare/ExecSQL/Open geändert wird, löst FireDAC beim folgenden Aufruf eine Exception aus: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
[FireDAC][Phys][IB]-338. Parameter [Xxxx] data type is changed.&lt;br /&gt;
Query must be reprepared.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FireDAC speichert beim ersten Aufruf von Prepare/ExecSQL/Open den Datentyp der Parameter. Der Datentyp kann entweder explizit durch Setzen der Eigenschaft &#039;&#039;&#039;TFDParam.DataType&#039;&#039;&#039; oder implizit durch Zuweisen eines Wertes mit der Eigenschaft &#039;&#039;&#039;TFDParam.AsXxxx&#039;&#039;&#039; oder &#039;&#039;&#039;TFDParam.Value&#039;&#039;&#039; angegeben werden. Wenn die Anwendung den Parameterdatentyp vor dem nächsten Aufruf von ExecSQL/Open ändert, wird beim erneuten Aufrufen von ExecSQL/Open die Exception &amp;quot;Datentyp des Parameters [xxxxx] wurde geändert&amp;quot; ausgelöst. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaft &#039;&#039;&#039;TFDParam.Value&#039;&#039;&#039; ändert den Parameterdatentyp beim nächsten Aufruf nicht. Sie wandelt den Typ des zugewiesenen Wertes in den aktuellen Datentyp um. Um die obige Exception zu vermeiden, verwenden Sie:&lt;br /&gt;
&lt;br /&gt;
* Den &#039;&#039;&#039;TFDParam.Value&#039;&#039;&#039;-Eigenschaftswert.&lt;br /&gt;
* Die Eigenschaft &#039;&#039;&#039;TFDParam.AsXxxx&#039;&#039;&#039;, wenn &#039;&#039;&#039;Xxxx&#039;&#039;&#039; beim ersten Aufruf verwendet wurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Abrufen von DBMS-Rückmeldungen===&lt;br /&gt;
&lt;br /&gt;
Mit der Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDRdbmsDataSet.RowsAffected|TFDQuery.RowsAffected]] rufen Sie die Anzahl der von der Anweisung verarbeiteten Zeilen ab (z. B. die Anzahl der durch die Anweisung DELETE gelöschten Zeilen). &lt;br /&gt;
&lt;br /&gt;
{{Note| Bei MS SQL Server kann &#039;&#039;&#039;RowsAffected&#039;&#039;&#039; gleich -1 sein, wenn bei einer gespeicherten Prozedur oder einem Tabellen-Trigger SET NOCOUNT ON weggelassen wird. Verwenden Sie dann die Eigenschaft &#039;&#039;&#039;TFDQuery.RecordCount&#039;&#039;&#039; zum Ermitteln der Anzahl der abgerufenen Zeilen. }}&lt;br /&gt;
&lt;br /&gt;
{{Note| FireDAC stellt keine Meldungen über die Anzahl der verarbeiteten Zeilen bereit. Bei Bedarf müssen solche Meldungen in der Anwendung erstellt werden. }}&lt;br /&gt;
&lt;br /&gt;
Wenn die Anweisung einen Fehler zurückgibt, wird eine Exception ausgelöst. Weitere Einzelheiten finden Sie unter [[Fehlerbehandlung (FireDAC)|Fehlerbehandlung]]. Die Exception kann auf eine der folgenden drei Arten verarbeitet werden:&lt;br /&gt;
&lt;br /&gt;
* Verwenden der Konstruktion &amp;quot;try/except/end&amp;quot;. Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
try&lt;br /&gt;
  FDQuery1.ExecSQL;&lt;br /&gt;
except&lt;br /&gt;
  on E: EFDDBEngineException do&lt;br /&gt;
    ; // do something here&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Festlegen der Ereignisbehandlungsroutine [[lib_de:FireDAC.Comp.Client.TFDAdaptedDataSet.OnError|TFDQuery.OnError]].&lt;br /&gt;
* Festlegen der Ereignisbehandlungsroutine [[lib_de:FireDAC.Comp.Client.TFDCustomConnection.OnError|TFDConnection.OnError]]. Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure TForm1.FDConnection1Error(ASender: TObject; const AInitiator: IFDStanObject;&lt;br /&gt;
  var AException: Exception);&lt;br /&gt;
begin&lt;br /&gt;
  if (AException is EFDDBEngineException) and (EFDDBEngineException(AException).Kind = ekRecordLocked) then&lt;br /&gt;
    AException.Message := &#039;Please, try the operation later. At moment, the record is busy&#039;;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
FDConnection1.OnError := FDConnection1Error;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der Array DML ist die Fehlerbehandlung komplexer. &lt;br /&gt;
&lt;br /&gt;
Die Anweisung gibt je nach DBMS Warnungen, Hinweise und Meldungen zurück. Setzen Sie [[lib_de:FireDAC.Stan.Option.TFDTopResourceOptions.ServerOutput|ResourceOptions.ServerOutput]] auf &#039;&#039;&#039;True&#039;&#039;&#039;, um die Meldungsverarbeitung zu aktivieren. Mit der Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDCustomConnection.Messages|TFDConnection.Messages]] werden die Meldungen verarbeitet. Zum Beispiel: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  i: Integer;&lt;br /&gt;
begin&lt;br /&gt;
  FDConnection1.ResourceOptions.ServerOutput := True;&lt;br /&gt;
  FDQuery1.ExecSQL;&lt;br /&gt;
  if FDConnection1.Messages &amp;lt;&amp;gt; nil then&lt;br /&gt;
    for i := 0 to FDConnection1.Messages.ErrorCount - 1 do&lt;br /&gt;
      Memo1.Lines.Add(FDConnection1.Messages[i].Message);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einige DBMSs, wie SQL Server, geben Meldungen als weitere Ergebnismenge zurück. Daher muss die Anwendung zum Verarbeiten von Meldungen mehrere Ergebnismengen verarbeiten. Im Folgenden finden Sie ein komplexeres Beispiel, das den Status und die Meldungen für SQL Server bereitstellt. In diesem Beispiel wird &#039;&#039;&#039;TFDMemTable&#039;&#039;&#039; verwendet, um Ergebnismengen mit Zeilen zu speichern. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  i: Integer;&lt;br /&gt;
begin&lt;br /&gt;
  FDConnection1.ResourceOptions.ServerOutput := True;&lt;br /&gt;
  FDQuery1.FetchOptions.AutoClose := False;&lt;br /&gt;
  FDQuery1.Open(&#039;select * from Region; print &#039;&#039;Hello&#039;&#039;&#039;);&lt;br /&gt;
  FDMemTable1.Data := FDQuery1.Data;&lt;br /&gt;
  Memo1.Lines.Add(Format(&#039;%d rows processed&#039;, [FDMemTable1.RecordCount]));&lt;br /&gt;
  FDQuery1.NextRecordSet;&lt;br /&gt;
  if FDConnection1.Messages &amp;lt;&amp;gt; nil then&lt;br /&gt;
    for i := 0 to FDConnection1.Messages.ErrorCount - 1 do&lt;br /&gt;
      Memo1.Lines.Add(FDConnection1.Messages[i].Message);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Abfrageausführung und Transaktionen==&lt;br /&gt;
&lt;br /&gt;
Standardmäßig werden alle SQL-Anweisungsausführungen im Modus &amp;quot;Autocommit&amp;quot; durchgeführt. Das heißt, dass diese implizite Transaktion gestartet wird, wenn direkt vor der Anweisungsausführung keine aktive Transaktion vorhanden ist. Ebenso wird die Transaktion direkt nach der Anweisungsausführung beendet:&lt;br /&gt;
&lt;br /&gt;
* durch &#039;&#039;&#039;Commit&#039;&#039;&#039; bei erfolgreicher Ausführung.&lt;br /&gt;
* durch &#039;&#039;&#039;Rollback&#039;&#039;&#039; bei einem Fehler.&lt;br /&gt;
&lt;br /&gt;
Bei Firebird und InterBase startet eine implizite Transaktion direkt vor der Abfragevorbereitung. Eine einzelne Anweisungsausführung muss nicht in explizite Transaktionen eingeschlossen sein, verwenden Sie einfach den Modus &amp;quot;Autocommit&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Erweiterte Optionen==&lt;br /&gt;
&lt;br /&gt;
Die meisten Datenbankanwendungen verfügen für die Verwaltung über Backend-Hilfsprogramme, die SQL-Skripte ausführen müssen. Die Zeilen in diesen Skripten entsprechen in gewisser Weise der DBMS-SQL-Skriptsyntax. Verwenden Sie zum Ausführen von [[Ausführen von SQL-Skripten (FireDAC)|SQL-Skripten]] die Komponente [[lib_de:FireDAC.Comp.Script.TFDScript|TFDScript]]. &lt;br /&gt;
&lt;br /&gt;
Manchmal führt eine Datenbankanwendung heterogene Abfragen aus, indem Tabellen aus verschiedenen Datenbanken verwendet werden, oder sie führt SQL-Anweisungen für &#039;&#039;&#039;TDataSet&#039;&#039;&#039;-Nachkommen anstatt für die Datenbanktabellen aus. Verwenden Sie die [[Local SQL (FireDAC)|Local SQL-Engine]] und die Komponente [[lib_de:FireDAC.Phys.SQLiteVDataSet.TFDLocalSQL|TFDLocalSQL]], um solche Abfragen auszuführen.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
*[[Ausführen von gespeicherten Prozeduren (FireDAC)|Ausführen von gespeicherten Prozeduren]]&lt;br /&gt;
*[[Durchsuchen von Tabellen (FireDAC)|Durchsuchen von Tabellen]]&lt;br /&gt;
*[[Anweisungsstapel (FireDAC)|Anweisungsstapel]]&lt;br /&gt;
*[[Asynchrone Ausführung (FireDAC)|Asynchrone Ausführung]]&lt;br /&gt;
*[[Local SQL (FireDAC)|Local SQL]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Ausfuhren von Anweisungen (FireDAC)}}&lt;br /&gt;
[[Category:FireDAC]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Executing Commands (FireDAC)]]&lt;br /&gt;
[[fr:Exécution des commandes (FireDAC)]]&lt;br /&gt;
[[ja:コマンドの実行（FireDAC）]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Inline-Funktionen&amp;diff=215133</id>
		<title>Inline-Funktionen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Inline-Funktionen&amp;diff=215133"/>
		<updated>2021-04-12T20:50:57Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Klassen - Index}}&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;inline&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
Sie können eine Elementfunktion innerhalb einer Klasse deklarieren und an anderer Stelle definieren. Alternativ dazu ist es möglich, die Elementfunktion innerhalb einer Klasse zu deklarieren und zu definieren. In diesem Fall wird die Funktion &#039;&#039;Inline-Funktion&#039;&#039; genannt.&lt;br /&gt;
&lt;br /&gt;
Der Compiler kann manchmal den normalen Funktionsaufruf-Overhead reduzieren, indem er anstelle des Funktionsaufrufs direkt den compilierten Code der Funktion einsetzt. Dieser Vorgang, der Inline-Erweiterung genannt wird, hat keinen Einfluss auf den Gültigkeitsbereich des Funktionsnamens oder seiner Argumente. Eine Inline-Ausdehnung ist aber nicht immer möglich oder nützlich. Der &#039;&#039;&#039;[[inline]]&#039;&#039;&#039;-Spezifizierer ist ein Hinweis für den Compiler, dass Sie eine Inline-Ausdehnung wünschen.&lt;br /&gt;
&lt;br /&gt;
{{Note| Die Inline-Erweiterung kann durch den Compiler unterbunden werden.}}&lt;br /&gt;
&lt;br /&gt;
Explizite und implizite &#039;&#039;&#039;inline&#039;&#039;&#039;-Anweisungen werden am besten nur für kleine, häufig benutzte Funktionen verwendet, wie z.B. Operatorfunktionen, die überladene Operatoren implementieren. So ist beispielsweise die Klassendeklaration von &#039;&#039;func&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 int i;                          // globale int&lt;br /&gt;
 class X {&lt;br /&gt;
 public:&lt;br /&gt;
    char* func(void) { return i; }  // standardmäßig Inline&lt;br /&gt;
    char* i;&lt;br /&gt;
 };&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gleichbedeutend mit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 inline char* X::func(void) { return i; }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;func&#039;&#039; ist außerhalb der Klasse mit dem expliziten &#039;&#039;&#039;inline&#039;&#039;&#039;-Spezifizierer definiert. Das von &#039;&#039;func&#039;&#039; zurückgegebene &#039;&#039;i&#039;&#039; ist der &amp;lt;code&amp;gt;char* i&amp;lt;/code&amp;gt; der Klasse &#039;&#039;X&#039;&#039; (siehe Gültigkeitsbereich von Elementen).&lt;br /&gt;
&lt;br /&gt;
== Inline-Funktionen und Exceptions ==&lt;br /&gt;
&lt;br /&gt;
Die inline-Anweisung für Funktionen, die eine Exception-Angabe enthalten, wird vom Compiler ignoriert. Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 inline void f1() throw(int)&lt;br /&gt;
 {&lt;br /&gt;
    // Warnung: Funktionen mit Exception werden nicht inline erweitert&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die übrigen Beschränkungen gelten nur, wenn das Aufräumen mit Destruktoren aktiviert ist.&lt;br /&gt;
&lt;br /&gt;
{{Note| Destruktoren werden standardmäßig aufgerufen. Informationen über Optionen zur Exception-Behandlung finden Sie unter Einstellungen von Exception-Behandlungsoptionen.}}&lt;br /&gt;
&lt;br /&gt;
Eine Inline-Funktion, die mindestens einen Parameter übernimmt, der den Typ &amp;quot;Klasse mit Destruktor&amp;quot; hat, wird nicht inline behandelt. Beachten Sie, dass diese Beschränkungen nicht für Klassen gilt, die als Referenz übergeben werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ein Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 struct foo {&lt;br /&gt;
    foo();&lt;br /&gt;
    ~foo();&lt;br /&gt;
 };&lt;br /&gt;
 inline void f2(foo&amp;amp; x)&lt;br /&gt;
 {&lt;br /&gt;
    // keine Warnung; f2() lässt sich inline behandeln&lt;br /&gt;
 }&lt;br /&gt;
 inline void f3(foo x)&lt;br /&gt;
 {&lt;br /&gt;
    // Warnung: Funktionen, die Klassenargumente als Wertparameter&lt;br /&gt;
    //          übernehmen, werden in Funktion f3(foo) nicht inline&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Inline-Funktion, die eine Klasse mit Destruktor als Wert zurückgibt, wird nicht inline behandelt, wenn innerhalb des Rückgabeausdrucks Variablen oder temporäre Objekte zu entfernen sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 struct foo {&lt;br /&gt;
    foo();&lt;br /&gt;
    ~foo();&lt;br /&gt;
 };&lt;br /&gt;
 inline foo f4()&lt;br /&gt;
 {&lt;br /&gt;
    return foo();&lt;br /&gt;
    // keine Warnung; f4() lässt sich inline behandeln&lt;br /&gt;
 }&lt;br /&gt;
 inline foo f5()&lt;br /&gt;
 {&lt;br /&gt;
    foo X;&lt;br /&gt;
    return foo(); // Objekt X muss entfernt werden&lt;br /&gt;
    // Warnung: Funktionen mit einigen Rückgabeanweisungen&lt;br /&gt;
    //          werden in Funktion f5() nicht behandelt&lt;br /&gt;
 }&lt;br /&gt;
 inline foo f6()&lt;br /&gt;
 {&lt;br /&gt;
    return ( foo(), foo() );  // temporär in Rückgabewert&lt;br /&gt;
    // Warnung: Funktionen mit bestimmten Rückgabeanweisungen&lt;br /&gt;
    //         werden in Funktion f6() nicht inline behandelt&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[inline]]&lt;br /&gt;
* [[Pragma inline|#pragma inline]]&lt;br /&gt;
* [[C++-Klassen]]&lt;br /&gt;
* [[Klassentypen]]&lt;br /&gt;
* [[Gültigkeitsbereich Klasse]]&lt;br /&gt;
* [[Klassenobjekte]]&lt;br /&gt;
* [[Klassen-Member-Liste]]&lt;br /&gt;
* [[Member-Funktionen]]&lt;br /&gt;
* [[Das Schlüsselwort this]]&lt;br /&gt;
* [[Statische Elemente]]&lt;br /&gt;
* [[Gültigkeitsbereich von Elementen]]&lt;br /&gt;
* [[Verschachtelte Typen]]&lt;br /&gt;
* [[Element-Zugriffskontrolle]]&lt;br /&gt;
* [[Zugriff auf Basisklassen und abgeleitete Klassen]]&lt;br /&gt;
* [[Virtuelle Basisklassen]]&lt;br /&gt;
* [[Friends von Klassen]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:C++-Referenz]]&lt;br /&gt;
[[Kategorie:C++]]&lt;br /&gt;
[[Kategorie:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Inline Functions]]&lt;br /&gt;
[[fr:Fonctions inline]]&lt;br /&gt;
[[ja:インライン関数]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Zugriff_auf_Basisklassen_und_abgeleitete_Klassen&amp;diff=215132</id>
		<title>Zugriff auf Basisklassen und abgeleitete Klassen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Zugriff_auf_Basisklassen_und_abgeleitete_Klassen&amp;diff=215132"/>
		<updated>2021-03-24T13:00:29Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Gültigkeitsbereich von Elementen - Index}}&lt;br /&gt;
&lt;br /&gt;
Bei der Deklaration einer abgeleiteten Klasse D werden die Basisklassen B1, B2, ... durch Komma getrennt in einer Basisliste aufgeführt: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;class-key D&amp;amp;nbsp;: base-list { &amp;amp;lt;member-list&amp;amp;gt; }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D erbt alle Member dieser Basisklassen. (Neu definierte Basisklassen-Member werden auch geerbt; der Zugriff auf sie kann falls erforderlich durch Änderung des Gültigkeitsbereichs erfolgen.) D kann nur die &#039;&#039;&#039;public&#039;&#039;&#039;- und &#039;&#039;&#039;protected&#039;&#039;&#039;-Member seiner Basisklassen verwenden. Welche Zugriffsattribute erhalten nun aber die geerbten Member, von D aus gesehen? Angenommen, D will einen &#039;&#039;&#039;public&#039;&#039;&#039;-Member aus einer Basisklasse verwenden, ihn für außenstehende Funktionen aber als &#039;&#039;&#039;private&#039;&#039;&#039;-Member schützen. Die Lösung liegt im Gebrauch der Zugriff-Spezifizierer in der Basisliste.&lt;br /&gt;
&lt;br /&gt;
{{Note| Da eine Basisklasse selbst auch eine abgeleitete Klasse sein kann, ist das Zugriffsattribut rekursiv: Sie gehen also zurück bis zur elementarsten Basisklasse, jener, die selbst nicht erbt.}}&lt;br /&gt;
&lt;br /&gt;
Bei der Deklaration von D können Sie die Zugriff-Spezifizierer &#039;&#039;&#039;public&#039;&#039;&#039;, &#039;&#039;&#039;protected&#039;&#039;&#039; oder &#039;&#039;&#039;private&#039;&#039;&#039; in die Basisliste vor den Klassen einsetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
class D : public B1, private B2 /* , … */ {&lt;br /&gt;
  // …&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Modifizierer ändern die Zugriffsattribute der Basis-Member (von der Basisklasse aus gesehen) nicht, können aber die Zugriffsattribute der Basis-Member (von der abgeleiteten Klasse aus gesehen) ändern.&lt;br /&gt;
&lt;br /&gt;
Ist D eine class-Deklaration, wird standardmäßig der Zugriff-Spezifizierer private verwendet. Dagegen ist public der Standard, wenn D eine struct-Deklaration ist.&lt;br /&gt;
&lt;br /&gt;
{{Note| Varianten können keine Basisklassen enthalten und dürfen nicht als Basisklassen verwendet werden.}}&lt;br /&gt;
&lt;br /&gt;
Eine abgeleitete Klasse erbt ihre Zugriffsattribute von einer Basisklasse wie folgt:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;public&#039;&#039;&#039;-Basisklasse: &#039;&#039;&#039;public&#039;&#039;&#039;-Member der Basisklasse sind &#039;&#039;&#039;public&#039;&#039;&#039;-Member der abgeleiteten Klasse. &#039;&#039;&#039;protected&#039;&#039;&#039;-Member der Basisklasse sind &#039;&#039;&#039;protected&#039;&#039;&#039;-Member der abgeleiteten Klasse. &#039;&#039;&#039;private&#039;&#039;&#039;-Member der Basisklasse bleiben &#039;&#039;&#039;private&#039;&#039;&#039; für die Basisklasse.&lt;br /&gt;
* &#039;&#039;&#039;protected&#039;&#039;&#039;-Basisklasse: Sowohl &#039;&#039;&#039;public&#039;&#039;&#039;- als auch &#039;&#039;&#039;protected&#039;&#039;&#039;-Member der Basisklasse sind &#039;&#039;&#039;protected&#039;&#039;&#039; -Member der abgeleiteten Klasse. &#039;&#039;&#039;private&#039;&#039;&#039;-Member der Basisklasse bleiben &#039;&#039;&#039;private&#039;&#039;&#039; für die Basisklasse. &lt;br /&gt;
* &#039;&#039;&#039;private&#039;&#039;&#039;-Basisklasse: Sowohl &#039;&#039;&#039;public&#039;&#039;&#039;- als auch &#039;&#039;&#039;protected&#039;&#039;&#039;-Member der Basisklasse sind &#039;&#039;&#039;private&#039;&#039;&#039;-Member der abgeleiteten Klasse. &#039;&#039;&#039;private&#039;&#039;&#039;-Member der Basisklasse bleiben &#039;&#039;&#039;private&#039;&#039;&#039; für die Basisklasse.&lt;br /&gt;
&lt;br /&gt;
Beachten Sie, dass &#039;&#039;&#039;private&#039;&#039;&#039;-Member einer Basisklasse von den Member-Funktionen der abgeleiteten Klasse nicht verwendet werden können. Dies gilt allerdings nicht, wenn &#039;&#039;&#039;friend&#039;&#039;&#039;-Deklarationen explizit den Zugriff zulassen. Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
/* class X is derived from class A */&lt;br /&gt;
class X : A {               // default for class is private A&lt;br /&gt;
  // …&lt;br /&gt;
}&lt;br /&gt;
/* class Y is derived (multiple inheritance) from B and C&lt;br /&gt;
   B defaults to private B */&lt;br /&gt;
class Y : B, public C {     // override default for C&lt;br /&gt;
  // …&lt;br /&gt;
}&lt;br /&gt;
/* struct S is derived from D */&lt;br /&gt;
struct S : D {              // default for struct is public D&lt;br /&gt;
  // …&lt;br /&gt;
}&lt;br /&gt;
/* struct T is derived (multiple inheritance) from D and E&lt;br /&gt;
   E defaults to public E */&lt;br /&gt;
struct T : private D, E {   // override default for D&lt;br /&gt;
                            // E is public by default&lt;br /&gt;
  // …&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Wirkung von Zugriff-Spezifizierern in der Basisliste kann durch Verwendung von qualifizierten Namen in der public- oder protected-Deklaration der abgeleiteten Klasse noch weiter geändert werden. Zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
class B {&lt;br /&gt;
   int a;               // private by default&lt;br /&gt;
public:&lt;br /&gt;
   int b, c;&lt;br /&gt;
   int Bfunc(void);&lt;br /&gt;
};&lt;br /&gt;
class X : private B {   // a, b, c, Bfunc are now private in X&lt;br /&gt;
   int d;               // private by default, NOTE: a is not&lt;br /&gt;
                        // accessible in X&lt;br /&gt;
public:&lt;br /&gt;
   B::c;                // c was private, now is public&lt;br /&gt;
   int e;&lt;br /&gt;
   int Xfunc(void);&lt;br /&gt;
};&lt;br /&gt;
int Efunc(X&amp;amp; x);        // external to B and X&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion Efunc() kann nur die public-Namen c, e und Xfunc() verwenden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion Xfunc ist ein Element der Klasse X, die von &#039;&#039;&#039;private&#039;&#039;&#039; B abgeleitet ist. Xfunc hat demnach Zugriff auf&lt;br /&gt;
&lt;br /&gt;
* c, dessen Zugriffsattribut in public geändert wurde &lt;br /&gt;
* Die “private-für-X”-Member von B: b und Bfunc() &lt;br /&gt;
* Die private- und public-Member von X: d, e, und Xfunc() &lt;br /&gt;
&lt;br /&gt;
Xfunc() kann jedoch nicht auf den Member a zugreifen, der für &amp;quot;B private&amp;quot; ist.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
*[[C++-Klassen|C++-Klassen]]&lt;br /&gt;
*[[Klassentypen|Klassentypen]]&lt;br /&gt;
*[[Gültigkeitsbereich Klasse|Gültigkeitsbereich Klasse]]&lt;br /&gt;
*[[Klassenobjekte|Klassenobjekte]]&lt;br /&gt;
*[[Klassen-Member-Liste|Klassen-Member-Liste]]&lt;br /&gt;
*[[Member-Funktionen|Member-Funktionen]]&lt;br /&gt;
*[[Das Schlüsselwort this|Das Schlüsselwort this]]&lt;br /&gt;
* [[This|this]]&lt;br /&gt;
*[[Statische Elemente|Statische Member]]&lt;br /&gt;
*[[Inline-Funktionen|Inline-Funktionen]]&lt;br /&gt;
*[[Gültigkeitsbereich von Elementen|Gültigkeitsbereich von Membern]]&lt;br /&gt;
*[[Verschachtelte Typen|Verschachtelte Typen]]&lt;br /&gt;
*[[Element-Zugriffskontrolle|Element-Zugriffskontrolle]]&lt;br /&gt;
*[[Virtuelle Basisklassen|Virtuelle Basisklassen]]&lt;br /&gt;
*[[Friends von Klassen|Friends von Klassen]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++-Referenz]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Base And Derived Class Access]]&lt;br /&gt;
[[fr:Accès aux classes de base et dérivées]]&lt;br /&gt;
[[ja:基底クラスと派生クラスへのアクセス]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Dynamic_cast_(Typumwandlungsoperator)&amp;diff=215131</id>
		<title>Dynamic cast (Typumwandlungsoperator)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Dynamic_cast_(Typumwandlungsoperator)&amp;diff=215131"/>
		<updated>2021-03-24T12:34:34Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Schlüsselwörter alphabetisch - Index}}&lt;br /&gt;
{{DISPLAYTITLE:dynamic_cast (C++-Typumwandlungsoperator)}}&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;cast&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;dynamic_cast&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kategorie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[C++-spezifische Schlüsselwörter]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In dem Ausdruck &lt;br /&gt;
&lt;br /&gt;
 dynamic_cast&amp;amp;lt; T &amp;amp;gt; (ptr) &lt;br /&gt;
&lt;br /&gt;
muss T ein Zeiger oder eine Referenz auf einen definierten Klassentyp oder auf &#039;&#039;&#039;void&#039;&#039;&#039;* sein. Das Argument ptr muss ein Ausdruck sein, dessen Auswertung einen Zeiger oder eine Referenz ergibt.&lt;br /&gt;
&lt;br /&gt;
Wenn T ein Zeiger auf void* ist, muss ptr ebenfalls ein Zeiger sein. In diesem Fall kann man über den Zeiger auf jedes Element derjenigen Klasse zugreifen, die in der Klassenhierarchie die unterste ist. Eine solche Klasse kann nicht Basisklasse irgendeiner anderen Klasse sein.&lt;br /&gt;
&lt;br /&gt;
Umwandlungen einer abgeleiteten Klasse in eine Basisklasse oder einer abgeleiteten Klasse in eine andere abgeleitete Klasse, werden wie folgt vorgenommen: Wenn T ein Zeiger ist und ptr ein Zeiger auf eine Nicht-Basisklasse ist, die ein Element der Klassenhierarchie ist, so ist das Ergebnis ein Zeiger auf eine eindeutige Unterklasse. Referenzen werden ähnlich behandelt. Wenn T eine Referenz ist und ptr eine Referenz auf eine Nicht-Basisklasse, so ist das Ergebnis eine Referenz auf die eindeutige Unterklasse.&lt;br /&gt;
&lt;br /&gt;
Eine Umwandlung von einer Basisklasse in eine abgeleiteten Klasse ist nur möglich, wenn die Basisklasse von polymorphem Typ ist.&lt;br /&gt;
&lt;br /&gt;
Eine Umwandlung in eine Basisklasse wird während der Compilierung durchgeführt. Eine Umwandlung einer Basisklasse in eine abgeleitete Klasse oder eine Umwandlung quer durch die Hierarchie erfolgt dagegen zur Laufzeit.&lt;br /&gt;
&lt;br /&gt;
Wenn die Umwandlung durchgeführt werden kann, so wandelt der Ausdruck dynamic_cast&amp;amp;lt; T &amp;amp;gt; (ptr) den Zeiger ptr in den gewünschten Typ um. Falls die Umwandlung eines Zeigertyps nicht möglich ist, hat der zurückgegebene Zeiger den Wert 0. Falls die Umwandlung eines Referenztyps nicht möglich ist, so wird die Exception Bad_cast ausgelöst.&lt;br /&gt;
&lt;br /&gt;
{{Note|Für die Nutzung von &#039;&#039;&#039;dynamic_cast&#039;&#039;&#039; müssen Laufzeitinformationen (RTTI) verfügbar gemacht werden.}}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[const_cast (Typumwandlungsoperator)]]&lt;br /&gt;
* [[reinterpret_cast (Typumwandlungsoperator)]]&lt;br /&gt;
* [[__rtti und die Option -RT]]&lt;br /&gt;
* [[static_cast (Typumwandlungsoperator)]]&lt;br /&gt;
&lt;br /&gt;
==Codebeispiele==&lt;br /&gt;
* [[samp_xe: ActivePage_(C++)|ActivePage (C++)]]&lt;br /&gt;
* [[samp_xe: TStringBuilderClickCount_(C++)|TStringBuilderClickCount (C++)]]&lt;br /&gt;
* [[samp_xe: BoundsRect_(C++)|BoundsRect (C++)]]&lt;br /&gt;
* [[samp_xe: ComponentCount_(C++)|ComponentCount (C++)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:C++-Referenz]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:RTTI]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Dynamic cast (C++ Type Cast Operator)]]&lt;br /&gt;
[[fr:Dynamic cast (opérateur de transtypage C++)]]&lt;br /&gt;
[[ja:Dynamic cast（型変換演算子）]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Haupt-VCL-Thread_benutzen&amp;diff=215130</id>
		<title>Haupt-VCL-Thread benutzen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Haupt-VCL-Thread_benutzen&amp;diff=215130"/>
		<updated>2021-03-18T03:07:42Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|So erstellen Sie Multithread-Anwendungen}}&lt;br /&gt;
Die Verwendung des Haupt-VCL-Threads erfordert drei grundlegende Schritte:&lt;br /&gt;
&lt;br /&gt;
# Eine eigene Routine zur Behandlung von Windows-Botschaften erstellen, die von Komponenten der Anwendung empfangen werden.&lt;br /&gt;
# In regelmäßigen Abständen &#039;&#039;CheckSynchronize&#039;&#039; aufrufen.&lt;br /&gt;
# Bei Bedarf thread-lokale Variablen deklarieren, die ausschließlich dem Thread zur Verfügung stehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So erstellen Sie eine separate Routine:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Schreiben Sie eine Haupt-Thread-Routine, die Zugriffe auf Objekteigenschaften und die Ausführung von Objektmethoden für alle Objekte der Anwendung handhabt.&lt;br /&gt;
# Rufen Sie die Routine mit der Methode &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TThread.Synchronize&amp;lt;/span&amp;gt; ({{Delphi}}) bzw. &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;TThread::Synchronize&amp;lt;/span&amp;gt; (C++) auf. Der folgende Code zeigt ein Beispiel für den Aufruf einer Methode mit &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Synchronize&amp;lt;/span&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 procedure TMyThread.PushTheButton &lt;br /&gt;
 begin &lt;br /&gt;
   Button1.Click; &lt;br /&gt;
 end; &lt;br /&gt;
 procedure TMyThread.Execute; &lt;br /&gt;
 begin &lt;br /&gt;
   ... &lt;br /&gt;
   Synchronize(PushThebutton); &lt;br /&gt;
   ... &lt;br /&gt;
 end; &lt;br /&gt;
&lt;br /&gt;
 void TMyThread::PushTheButton() &lt;br /&gt;
  { &lt;br /&gt;
   Form1-&amp;amp;gt;Button1-&amp;amp;gt;Click(); &lt;br /&gt;
  } &lt;br /&gt;
 void __fastcall TMyThread::Execute() &lt;br /&gt;
  { &lt;br /&gt;
   ... &lt;br /&gt;
   Synchronize( (TThreadMethod)&amp;amp;amp;PushTheButton ); &lt;br /&gt;
   ... &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Synchronize&amp;lt;/span&amp;gt; wartet, bis der Haupt-Thread in die Botschaftsschleife eintritt, und führt dann die übergebene Methode aus. &lt;br /&gt;
&lt;br /&gt;
{{Note| Da die Methode &amp;lt;span class&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;codeInline&amp;quot;&amp;gt;Synchronize&amp;lt;/span&amp;gt; eine Botschaftsschleife verwendet, kann sie nicht in Konsolenanwendungen eingesetzt werden. Für Konsolenanwendungen müssen Sie einen anderen Mechanismus benutzen, z.B. kritische Abschnitte, um den Zugriff auf VCL-Objekte zu schützen.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So rufen Sie CheckSynchronize auf:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Rufen Sie &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;CheckSynchronize&amp;lt;/span&amp;gt; im Haupt-Thread regelmäßig auf, damit Hintergrund-Threads ihre Ausführung mit dem Haupt-Thread synchronisieren können.&lt;br /&gt;
# Um die Sicherheit der an Hintergrund-Threads gerichteten Aufrufe zu gewährleisten, rufen Sie &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;CheckSynchronize&amp;lt;/span&amp;gt; auf, wenn die Anwendung inaktiv ist, beispielsweise aus einer Ereignisbehandlungsroutine für &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;OnIdle&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So verwenden Sie eine thread-lokale Variable:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Ermitteln Sie die Variablen, die für alle im Thread ausgeführten Routinen global verfügbar, jedoch für andere Instanzen der gleichen Thread-Klasse nicht sichtbar sein sollen.&lt;br /&gt;
# In {{Delphi}} deklarieren Sie diese Variablen in einem &#039;&#039;&#039;threadvar&#039;&#039;&#039;-Abschnitt. Beispiel:&lt;br /&gt;
&lt;br /&gt;
 threadvar &lt;br /&gt;
   x: integer;&lt;br /&gt;
&lt;br /&gt;
In C++ deklarieren Sie diese Variablen mit dem Modifizierer &#039;&#039;&#039;__thread&#039;&#039;&#039;:&lt;br /&gt;
 &lt;br /&gt;
 int __thread x;&lt;br /&gt;
&lt;br /&gt;
{{Note| Verwenden Sie den Abschnitt &#039;&#039;&#039;threadvar&#039;&#039;&#039; nur für globale Variablen. Verwenden Sie ihn nicht für Zeiger- oder Funktionsvariablen oder für Typen, deren Wert beim Schreiben kopiert wird, wie beispielsweise lange Strings.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note| In C++ muss eine &#039;&#039;&#039;__thread&#039;&#039;&#039;-Variable mit einem konstanten Ausdruck initialisiert werden. So ist z.B. &amp;lt;span class&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;codeInline&amp;quot;&amp;gt;int __thread foo &amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt; 3;&amp;lt;/span&amp;gt; eine gültige Anweisung. Dagegen ist &amp;lt;span class&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;codeInline&amp;quot;&amp;gt;int __thread foo &amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt; get_value();&amp;lt;/span&amp;gt; nicht zulässig, da die Initialisierung zur Laufzeit erfolgt.}}&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Überblick zu VCL]]&lt;br /&gt;
* [[Die Thread-Funktion schreiben]]&lt;br /&gt;
* [[Gleichzeitige Thread-Zugriffe auf einen Speicherbereich verhindern]]&lt;br /&gt;
* [[Auf Beendigung der Thread-Ausführung warten]]&lt;br /&gt;
* [[Exceptions behandeln]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mit Delphi für Windows arbeiten]]&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
&lt;br /&gt;
[[en:Using the Main VCL Thread]]&lt;br /&gt;
[[fr:Utilisation du thread VCL principal]]&lt;br /&gt;
[[ja:メイン VCL スレッドを使用する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Thread-Objekte_ausf%C3%BChren&amp;diff=215129</id>
		<title>Thread-Objekte ausführen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Thread-Objekte_ausf%C3%BChren&amp;diff=215129"/>
		<updated>2021-03-18T02:53:01Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Warning|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Thread-Objekte ausführen - Index}}&lt;br /&gt;
Nach der Implementierung einer Thread-Klasse, das heißt nach der Ausstattung mit einer &#039;&#039;Execute&#039;&#039;-Methode, kann die Thread-Klasse in der Anwendung zum Ausführen der Methode &#039;&#039;Execute&#039;&#039; verwendet werden. Zuerst ist eine Instanz der Thread-Klasse erforderlich. Es lassen sich Instanzen erzeugen, die sofort starten, und solche, die sich so lange in einem passiven Zustand befinden, bis die Methode [[lib_de:System.Classes.TThread.Resume|Resume]] aufgerufen wird. Damit ein Thread sofort startet, setzen Sie den Parameter &#039;&#039;CreateSuspended&#039;&#039; des Konstruktors auf &#039;&#039;False&#039;&#039;. Beispielsweise wird mit der folgenden Zeile ein Thread erzeugt und ihre Ausführung gestartet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 SecondThread := TMyThread.Create(False); {Thread erzeugen und starten }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 TMyThread *SecondThread = new TMyThread(false); // Thread erstellen und starten&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Warning| Erzeugen Sie nicht zu viele Threads in einer Anwendung. Der Aufwand für die Koordination mehrerer Threads kann die Systemleistung herabsetzen. Auf einem Rechner mit Einzelprozessor sind 16 Threads pro Prozess die empfohlene Obergrenze. Voraussetzung ist, dass die meisten Threads auf externe Ereignisse warten. Wenn alle Threads aktiv sind, muss die Anzahl reduziert werden.}}&lt;br /&gt;
&lt;br /&gt;
Zur Ausführung von parallelem Quelltext lassen sich mehrere Instanzen desselben Thread-Typs erzeugen. Dies könnte zum Beispiel in Reaktion auf eine bestimmte Benutzeraktion erfolgen, damit jeder Thread die erwartete Antwort generieren kann.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Themen befassen sich ausführlich mit dem Einsatz von Threads in einer Anwendung:&lt;br /&gt;
&lt;br /&gt;
* [[Die Standard-Priorität überschreiben|Die Standard-Priorität überschreiben]].&lt;br /&gt;
* [[Threads starten und stoppen|Threads starten und stoppen]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Thread-Objekte definieren]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Thread-Objekte ausfuhren}}&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
&lt;br /&gt;
[[en:Executing Thread Objects]]&lt;br /&gt;
[[fr:Exécution d&#039;objets thread]]&lt;br /&gt;
[[ja:スレッド オブジェクトの実行]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=%C3%9Cbergeben_von_%C3%84nderungen_an_die_Mercurial-Versionskontrolle&amp;diff=215128</id>
		<title>Übergeben von Änderungen an die Mercurial-Versionskontrolle</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=%C3%9Cbergeben_von_%C3%84nderungen_an_die_Mercurial-Versionskontrolle&amp;diff=215128"/>
		<updated>2021-03-09T18:43:21Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Mercurial-Integration in der IDE}}&lt;br /&gt;
&lt;br /&gt;
Bei der Übergabe der Änderungen wird eine Datei oder ein Projekt im lokalen Repository gespeichert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So übergeben Sie eine bestimmte Datei:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Klicken Sie in der [[Projektverwaltung|Projektverwaltung]] mit der rechten Maustaste auf die Datei, die Sie übergeben möchten.&lt;br /&gt;
# Wählen Sie im Kontextmenü {{Menu|Mercurial &amp;amp;gt; Übergeben}}. Der Bereich [[Übergeben (Mercurial)|Übergeben (Mercurial)]] wird im Hauptfenster der IDE angezeigt.&lt;br /&gt;
# Geben Sie in das Feld &#039;&#039;&#039;Kommentar&#039;&#039;&#039; einen Kommentar für das Protokoll ein. Die [[Letzte Kommentare|Kommentare der zuvor übertragenen Versionen]] werden angezeigt (und können ausgewählt werden).&lt;br /&gt;
# Klicken Sie auf &#039;&#039;&#039;Übergeben&#039;&#039;&#039;. Das Versionskontrollsystem zeigt die Ergebnisse im [[Fenster: Meldungen|Meldungsfenster]] an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So übergeben Sie ein Verzeichnis oder ein gesamtes Projekt:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Klicken Sie in der [[Projektverwaltung|Projektverwaltung]] mit der rechten Maustaste auf den Ordner oder das Projekt, das Sie übergeben möchten.  &lt;br /&gt;
# Wählen Sie im Kontextmenü {{Menu|Mercurial &amp;amp;gt; Übergeben}}.&lt;br /&gt;
# Wählen Sie im Untermenü &#039;&#039;&#039;Übergeben&#039;&#039;&#039; des Kontextmenüs einen der folgenden Befehle aus:&lt;br /&gt;
#* &#039;&#039;&#039;Aus Repository-Stammverzeichnis&#039;&#039;&#039; durchsucht die Verzeichnisstruktur nach dem letzten Verzeichnis, das von demselben Repository wie die Projektdatei verwaltet wird und fügt dann dem Bereich &amp;quot;Übergeben&amp;quot; alle Dateien aus diesem Verzeichnis und aus dessen Unterverzeichnissen hinzu. &lt;br /&gt;
#* &#039;&#039;&#039;Aus Projektverzeichnis&#039;&#039;&#039; fügt dem Bereich &amp;quot;Übergeben&amp;quot; alle Dateien aus dem Projektverzeichnis und aus dessen Unterverzeichnissen hinzu.&lt;br /&gt;
# Der Bereich [[Übergeben (Mercurial)|Übergeben (Mercurial)]] wird im Hauptfenster der IDE angezeigt. Wählen Sie im Feld &#039;&#039;&#039;Übergeben an: Position&#039;&#039;&#039; die Dateien aus, die Sie übergeben möchten.&lt;br /&gt;
# Geben Sie in das Feld &#039;&#039;&#039;Kommentar&#039;&#039;&#039; einen Kommentar für das Protokoll ein. Die Kommentare der zuvor übertragenen Versionen werden angezeigt.&lt;br /&gt;
# Klicken Sie auf &#039;&#039;&#039;Übergeben&#039;&#039;&#039;. Das Versionskontrollsystem zeigt die Ergebnisse im [[Fenster: Meldungen|Meldungsfenster]] an.&lt;br /&gt;
&lt;br /&gt;
{{Note| Um die Änderungen an Ihr Remote-Repository in Mercurial zu übergeben, [[Übergeben (Mercurial)|fügen Sie Ihre Änderungen in ein Remote-Repository ein]].}}&lt;br /&gt;
{{Note| Im Dialogfeld &amp;quot;Übergeben&amp;quot; werden keine umbenannten Dateien angezeigt. Sie müssen auf &#039;&#039;&#039;Unversionierte Dateien anzeigen&#039;&#039;&#039; klicken, und die umbenannten Dateien auswählen, damit sie der Übergabe hinzugefügt werden.}}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Mercurial-Integration in der IDE|Mercurial-Integration in der IDE]]&lt;br /&gt;
* [[Übergeben (Mercurial)|Übergeben (Mercurial)]]&lt;br /&gt;
* [[Versionsverwaltung|Versionsverwaltung]]&lt;br /&gt;
* [[Dateien der Versionskontrolle hinzufügen|Dateien der Versionskontrolle hinzufügen]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Ubergeben von Anderungen an die Mercurial-Versionskontrolle}}&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:XE8]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Committing Changes to Mercurial Version Control]]&lt;br /&gt;
[[fr:Validation des modifications dans le contrôle de version Mercurial]]&lt;br /&gt;
[[ja:変更を Mercurial バージョン管理にコミットする]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Mercurial-Integration_in_der_IDE&amp;diff=215127</id>
		<title>Mercurial-Integration in der IDE</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Mercurial-Integration_in_der_IDE&amp;diff=215127"/>
		<updated>2021-03-09T15:35:49Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Versionskontrollsysteme in der IDE}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Version Insight&#039;&#039;&#039; integriert die Unterstützung für das Versionskontrollsystem &#039;&#039;&#039;Mercurial&#039;&#039;&#039; in der IDE. &lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über Mercurial SCM finden Sie unter [http://mercurial.selenic.com/ http://mercurial.selenic.com/]&lt;br /&gt;
&lt;br /&gt;
==Funktionen von Mercurial in der IDE==&lt;br /&gt;
&lt;br /&gt;
Für jede Datei, die von Mercurial in der IDE verwaltet wird:&lt;br /&gt;
&lt;br /&gt;
* Zeigt die &#039;&#039;&#039;[[Versionsverwaltung|Versionsverwaltung]]&#039;&#039;&#039; die Versionsinformationen für die lokale Datei und die Versionsinformationen aus Mercurial an. Zum Beispiel sind die Mercurial-Kommentare und der Versionsverlauf auf der Registerkarte &#039;&#039;&#039;Information&#039;&#039;&#039; der Versionsverwaltung aufgeführt.&lt;br /&gt;
* Können Sie Versionen der Datei &#039;&#039;&#039;[[Dateiversionen vergleichen|vergleichen]]&#039;&#039;&#039;, die in einem Mercurial-System erstellt und verwaltet wurden, sogar dann, wenn die Datei nicht in der IDE erstellt oder gesichert wurde.&lt;br /&gt;
* Können Sie die üblichen Mercurial-Befehle, wie die folgenden, ausführen:&lt;br /&gt;
** [[Übergeben (Mercurial)|Übergeben (Mercurial)]] (Ihre lokalen Änderungen an das lokale Repository senden).&lt;br /&gt;
** Protokoll anzeigen (klicken Sie in der &#039;&#039;&#039;Versionsverwaltung&#039;&#039;&#039; auf die Registerkarte &#039;&#039;&#039;Information&#039;&#039;&#039;).&lt;br /&gt;
** [[Dateiversionen vergleichen|Vergleichen]] (zwei Versionen einer Datei vergleichen).&lt;br /&gt;
&lt;br /&gt;
==[[Mercurial-Befehle in RAD Studio|Mercurial-Befehle in RAD Studio]]==&lt;br /&gt;
&lt;br /&gt;
Wenn Sie mit Mercurial vertraut sind, sehen Sie sich diese &#039;&#039;&#039;[[Mercurial-Befehle in RAD Studio|nützliche Tabelle]]&#039;&#039;&#039; mit Beschreibungen zum Ausführen von allgemeinen Mercurial-Aufgaben in der {{Product}}-IDE an.&lt;br /&gt;
&lt;br /&gt;
==Aktivieren von Mercurial in {{Product}}==&lt;br /&gt;
&lt;br /&gt;
Die Mercurial-Unterstützung ist nicht standardmäßig aktiviert. Gehen Sie folgendermaßen vor, um Mercurial in der IDE zu aktivieren:&lt;br /&gt;
&lt;br /&gt;
# [http://mercurial.selenic.com/downloads Laden Sie Mercurial herunter, und installieren] Sie es auf Ihrem System.&lt;br /&gt;
# Wählen Sie in der IDE {{Menu|Tools &amp;amp;gt; Optionen &amp;amp;gt; Versionskontrolle &amp;amp;gt; Mercurial}}.&lt;br /&gt;
# Geben Sie den Pfad zur auf Ihrem System installierten ausführbaren Datei von Mercurial (&#039;&#039;&#039;hg.exe&#039;&#039;&#039;) ein. Auf einem Windows-System befindet sich die ausführbare Hg-Datei beispielsweise in:&lt;br /&gt;
#: {{Path|C:\Programme\Mercurial\hg.exe}}&lt;br /&gt;
# Ändern Sie bei Bedarf die anderen Parameter.&lt;br /&gt;
# Klicken Sie auf &#039;&#039;&#039;OK&#039;&#039;&#039;, um den Experten zu schließen.&lt;br /&gt;
&lt;br /&gt;
Um die Mercurial-Funktionen zu installieren, wird Ihrem Projekt von der IDE nichts hinzugefügt. Die IDE verwendet einfach die Mercurial-Informationen, die in Ihrem lokalen Repository gespeichert sind.&lt;br /&gt;
&lt;br /&gt;
==Mercurial-Konfiguration==&lt;br /&gt;
&lt;br /&gt;
Wenn Mercurial auf Ihrem System installiert ist, müssen Sie Ihren &#039;&#039;&#039;Benutzernamen&#039;&#039;&#039; und Ihre &#039;&#039;&#039;E-Mail-Adresse&#039;&#039;&#039; angeben. Mercurial verwendet diese Informationen bei jeder Übergabe.&lt;br /&gt;
&lt;br /&gt;
Um Ihren Benutzernamen und Ihre E-Mail-Adresse Ihres Mercurial-Repository zu konfigurieren, müssen Sie die Datei &#039;&#039;&#039;Mercurial.ini&#039;&#039;&#039; bearbeiten, die sich auf Ihrem System befindet ({{Path|C:\Users\&amp;amp;lt;Benutzername&amp;amp;gt;\Mercurial.ini}}).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt; Öffnen Sie das Befehlszeilentool.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Geben Sie den folgenden Befehl ein:&lt;br /&gt;
:&amp;lt;code&amp;gt; hg config --edit&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Fügen Sie Ihren Benutzernamen und Ihre E-Mail-Adresse, wie in der Datei aufgeführt, hinzu:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; # username = Jane Doe &amp;amp;lt;jdoe@example.com&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; username = &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Überprüfen Sie Ihre neuen Einstellungen mit dem folgenden Befehl: &lt;br /&gt;
:&amp;lt;code&amp;gt; hg config &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Aktualisieren des lokalen Repository==&lt;br /&gt;
&lt;br /&gt;
Um Konflikte zwischen Versionen zu vermeiden, sollten Sie vor dem Ändern immer eine Aktualisierung Ihrer lokalen Dateien durchführen:&lt;br /&gt;
&lt;br /&gt;
# Öffnen Sie das Befehlszeilentool.&lt;br /&gt;
# Navigieren Sie zum lokalen Ordner Ihres Mercurial-Repository.&lt;br /&gt;
# Geben Sie den folgenden Befehl ein:&lt;br /&gt;
#:&amp;lt;code&amp;gt;hg pull&amp;lt;/code&amp;gt;&lt;br /&gt;
# Authentifizieren Sie sich bei Bedarf beim Remote-Repository.&lt;br /&gt;
# Aktualisieren Sie das lokale Verzeichnis (mit dem Befehl &amp;lt;code&amp;gt;pull&amp;lt;/code&amp;gt; wird das Verzeichnis nicht automatisch aktualisiert):&lt;br /&gt;
#:&amp;lt;code&amp;gt;hg update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Wenn Sie die letzte Revision der Dateien unter Versionskontrolle verwenden, wird die folgende Meldung angezeigt: &#039;&#039;&#039;Keine Änderungen gefunden&#039;&#039;&#039;.}}&lt;br /&gt;
&lt;br /&gt;
==Mercurial-Problembehebung==&lt;br /&gt;
&lt;br /&gt;
===Inhalt aus dem Remote-Repository kann nicht abgerufen werden===&lt;br /&gt;
&lt;br /&gt;
Wenn für Ihr Remote-Mercurial-Repository (privates Repository) eine Authentifizierung erforderlich ist, müssen Sie die Daten aus der Befehlszeile klonen. Siehe [[Klonen einer Mercurial-Repository-Kopie|Klonen einer Kopie eines Repository, für das eine Authentifizierung erforderlich ist]].&lt;br /&gt;
&lt;br /&gt;
==Themen==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Äquivalente Befehle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Mercurial-Befehle in RAD Studio|Mercurial-Befehle in RAD Studio]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Repository-Aktionen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Klonen einer Mercurial-Repository-Kopie|Klonen einer Mercurial-Repository-Kopie]]&lt;br /&gt;
* [[Dateien der Versionskontrolle hinzufügen|Dateien der Versionskontrolle hinzufügen]]&lt;br /&gt;
* [[Übergeben von Änderungen an die Mercurial-Versionskontrolle|Übergeben von Änderungen an die Mercurial-Versionskontrolle]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Protokoll- und Historie-Aktionen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Anzeigen der Historie und der Revisionen|Anzeigen der Historie und der Revisionen]]&lt;br /&gt;
* [[Anzeigen von Versionskontroll-Kommentaren|Anzeigen von Versionskontrollkommentaren]]&lt;br /&gt;
* [[Anzeigen des Versionskontrollprotokolls|Anzeigen des Versionskontrollprotokolls]]&lt;br /&gt;
* [[Revisionsnummern hinzufügen|Revisionsnummern hinzufügen]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vergleichsaktionen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Dateiversionen vergleichen|Dateiversionen vergleichen]]&lt;br /&gt;
* [[Hinzufügen eines neuen Vergleichs-Viewers|Hinzufügen eines neuen Vergleichs-Viewers]]&lt;br /&gt;
* [[Installieren eines alternativen Vergleichs-Viewers|Installieren eines alternativen Vergleichs-Viewers]]&lt;br /&gt;
* [[Einen externen Vergleichs-Viewer verwenden|Einen externen Vergleichs-Viewer verwenden]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zurücksetzen von Änderungen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Zurücksetzen von Änderungen|Zurücksetzen von Änderungen]]&lt;br /&gt;
&lt;br /&gt;
===Dialogfelder und Bereiche===&lt;br /&gt;
&lt;br /&gt;
* [[Klonen (Mercurial)|Klonen (Mercurial)]]&lt;br /&gt;
* [[Übergeben (Mercurial)|Übergeben (Mercurial)]]&lt;br /&gt;
* [[Protokollbereich|Protokollbereich]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Versionsverwaltung|Versionsverwaltung]]&lt;br /&gt;
* [[Übergeben (Mercurial)|Übergeben (Mercurial)]]&lt;br /&gt;
* [[Klonen (Mercurial)|Klonen (Mercurial)]] &lt;br /&gt;
* [[Protokollbereich|Protokollbereich]]&lt;br /&gt;
* [[Programm auswählen|Programm auswählen]]&lt;br /&gt;
* [[Zu öffnendes Projekt oder Projektgruppe auswählen|Zu öffnendes Projekt oder Projektgruppe auswählen]]&lt;br /&gt;
&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
[[Category:XE8]]&lt;br /&gt;
&lt;br /&gt;
[[en:Mercurial Integration in the IDE]]&lt;br /&gt;
[[fr:Intégration de Mercurial dans l&#039;EDI]]&lt;br /&gt;
[[ja:IDE 内の Mercurial インテグレーション]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Mit_der_Versionsverwaltung_arbeiten&amp;diff=215126</id>
		<title>Mit der Versionsverwaltung arbeiten</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Mit_der_Versionsverwaltung_arbeiten&amp;diff=215126"/>
		<updated>2021-03-09T15:23:48Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Tip|}} and the {{Note|}} templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|So bearbeiten Sie Code im Quelltext-Editor}}&lt;br /&gt;
&lt;br /&gt;
Mit der &#039;&#039;&#039;Versionsverwaltung&#039;&#039;&#039; können Sie verschiedene Versionen einer Datei anzeigen und miteinander vergleichen, einschließlich mehrerer Sicherungsversionen, gespeicherter lokaler Änderungen und des Inhalts des Bearbeitungspuffers mit nicht gespeicherten Änderungen.&lt;br /&gt;
&lt;br /&gt;
{{Note| Informationen über die Verwendung eines [[Versionskontrollsysteme in der IDE|Versionskontrollsystems]] in der &#039;&#039;&#039;Versionsverwaltung&#039;&#039;&#039; finden Sie unter:&lt;br /&gt;
&lt;br /&gt;
* Für &#039;&#039;&#039;Subversion&#039;&#039;&#039;: [[Subversion-Integration in der IDE|Subversion-Integration in der IDE]].&lt;br /&gt;
* Für &#039;&#039;&#039;Git&#039;&#039;&#039;: [[Git-Integration in der IDE|Git-Integration in der IDE]].&lt;br /&gt;
* Für &#039;&#039;&#039;Mercurial&#039;&#039;&#039;: [[Mercurial-Integration in der IDE|Mercurial-Integration in der IDE]].}}&lt;br /&gt;
&lt;br /&gt;
Der Einfachheit halber ist dieses Thema als Tutorial geschrieben, das anhand einer kleinen Textdatei die Funktionalität der &#039;&#039;&#039;Versionsverwaltung&#039;&#039;&#039; vorstellt. Die &#039;&#039;&#039;Versionsverwaltung&#039;&#039;&#039; steht jedoch für die meisten Dateien, einschließlich Quelltext- und HTML- oder XML-Dateien, zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tutorial-Schritt 1: So erstellen Sie Dateiversionen und zeigen sie auf der Seite Inhalt an:&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Wählen Sie {{Menu|Tools &amp;amp;gt; Optionen &amp;amp;gt; Editor-Optionen}}, und stellen Sie sicher, dass die Option &#039;&#039;&#039;Sicherungsdateien erstellen&#039;&#039;&#039; aktiviert ist.&lt;br /&gt;
# Wählen Sie {{Menu|Datei &amp;amp;gt; Neu &amp;amp;gt; Weitere &amp;amp;gt; Andere Dateien &amp;amp;gt; Textdatei}}, und klicken Sie auf &#039;&#039;&#039;OK&#039;&#039;&#039;, um eine leere Textdatei im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; anzuzeigen.&lt;br /&gt;
# Geben Sie in der ersten Zeile der Datei &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Erste Textzeile&amp;lt;/span&amp;gt; ein, und speichern Sie die Datei unter einem beliebigen Namen in einem beliebigen Verzeichnis.&lt;br /&gt;
# Geben Sie in der zweiten Zeile &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Zweite Textzeile&amp;lt;/span&amp;gt; ein, und speichern Sie die Datei.&lt;br /&gt;
# Geben Sie in der dritte Zeile &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Dritte Textzeile&amp;lt;/span&amp;gt; ein, und speichern Sie die Datei. Das aktuelle Verzeichnis enthält nun in einem verborgenen Unterverzeichnis mit dem Namen &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;__history&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt; drei verschiedene Versionen der Datei.&lt;br /&gt;
# Klicken Sie auf das Register &#039;&#039;&#039;Historie&#039;&#039;&#039;, die sich neben dem Register &#039;&#039;&#039;Code&#039;&#039;&#039; befindet. Die Versionsliste im oberen Teil der Registerkarte &#039;&#039;&#039;Inhalt&#039;&#039;&#039; enthält drei Versionen der Datei. Die erste Version trägt den Namen &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;~1~&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;, die zweite den Namen &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;~2~&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt;. Die aktuelle Version wird unter der Bezeichnung &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;Datei&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt; angezeigt. In der Quellansicht im unteren Teil der Registerkarte sehen Sie den Inhalt der ausgewählten Datei.&lt;br /&gt;
# Wählen Sie die verschiedenen Versionen aus, um ihren Inhalt anzuzeigen.&lt;br /&gt;
# Klicken Sie auf das Register &#039;&#039;&#039;Code&#039;&#039;&#039;, um zum &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; zurückzukehren. Geben Sie dann in der vierten Zeile der Datei &amp;lt;span class=&amp;quot;codeInline&amp;quot;&amp;gt;Vierte Textzeile&amp;lt;/span&amp;gt; ein, aber speichern Sie die Datei &#039;&#039;&#039;nicht&#039;&#039;&#039;. Die Änderung wird im Editorpuffer abgelegt, aber nicht in der Datei gespeichert.&lt;br /&gt;
# Lesen Sie die folgenden Beschreibungen der Schaltflächen und Symbole in der Symbolleiste, und fahren Sie anschließend mit der nächsten Anleitung fort, um die erstellten Dateiversionen miteinander zu vergleichen.&lt;br /&gt;
&lt;br /&gt;
{{Tip| Sie können die Spalten auf den Seiten der &#039;&#039;&#039;Versionsverwaltung&#039;&#039;&#039; sortieren, indem Sie auf die gewünschte Spaltenüberschrift klicken.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tutorial-Schritt 2: So vergleichen Sie Dateiversionen auf der Seite &amp;quot;Unterschiede&amp;quot;:&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Öffnen Sie die Datei, die Sie in der vorherigen Anleitung erstellt haben, und klicken Sie auf die Registerkarte &#039;&#039;&#039;Historie&#039;&#039;&#039;.&lt;br /&gt;
# Klicken Sie auf die Registerkarte &#039;&#039;&#039;Unterschiede&#039;&#039;&#039; am unteren Rand der &#039;&#039;&#039;Versionsverwaltung&#039;&#039;&#039;. Oben auf der Seite werden in den Fenstern &#039;&#039;&#039;Unterschiede in&#039;&#039;&#039; und &#039;&#039;&#039;Zu&#039;&#039;&#039; die Dateiversionen angezeigt, die Sie vergleichen können. Unten auf der Seite sind die gelöschten Quelltextzeilen hervorgehoben und mit einem Minuszeichen (-) gekennzeichnet. Hinzugefügte Zeilen sind mit einem Pluszeichen (+) markiert. Die Hervorhebungsfarben hängen von den Farben ab, die für den &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; eingestellt sind.&lt;br /&gt;
# Wählen Sie die gewünschten Dateiversionen in den Fenstern &#039;&#039;&#039;Unterschiede in&#039;&#039;&#039; und &#039;&#039;&#039;Zu&#039;&#039;&#039; aus. Die Ergebnisse sind in der Quellanzeige zu sehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tutorial-Schritt 3: So machen Sie eine frühere Version zur aktuellen Version:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Öffnen Sie die in der vorherigen Anleitung verwendete Datei, und klicken Sie auf die Registerkarte &#039;&#039;&#039;Inhalt&#039;&#039;&#039;.&lt;br /&gt;
# Klicken Sie mit der rechten Maustaste auf die Version &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;~2~&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt; der Datei, und wählen Sie &amp;quot;Zurücksetzen&amp;quot;, oder klicken Sie in der Symbolleiste auf die Schaltfläche [[Image:HistViewRevert.jpg|Zurücksetzen]]. In einem &#039;&#039;&#039;Bestätigungsdialogfeld&#039;&#039;&#039; werden Sie darauf hingewiesen, dass durch das Zurücksetzen alle nicht gespeicherten Änderungen im Puffer verloren gehen.&lt;br /&gt;
# Klicken Sie im &#039;&#039;&#039;Bestätigungsdialogfeld&#039;&#039;&#039; auf &#039;&#039;&#039;Ja&#039;&#039;&#039;. Die Version &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;~2~&amp;lt;/font&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/font&amp;gt; ist nun die aktuelle Version.&lt;br /&gt;
# Kehren Sie zum &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; zurück, und speichern Sie die Änderung.&lt;br /&gt;
&lt;br /&gt;
{{Tip| Der Befehl &amp;quot;Zurücksetzen&amp;quot; steht auch auf der Seite &#039;&#039;&#039;Info&#039;&#039;&#039; zur Verfügung.}}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
*[[Ein erster Blick auf die IDE|Ein erster Blick auf die IDE]]&lt;br /&gt;
*[[Versionsverwaltung|Versionsverwaltung]]&lt;br /&gt;
*[[Subversion-Integration in der IDE|Subversion-Integration in der IDE]]&lt;br /&gt;
*[[Git-Integration in der IDE|Git-Integration in der IDE]]&lt;br /&gt;
*[[Mercurial-Integration in der IDE|Mercurial-Integration in der IDE]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mit RAD Studio arbeiten]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Using the History Manager]]&lt;br /&gt;
[[fr:Utilisation du Gestionnaire de l&#039;historique]]&lt;br /&gt;
[[ja:履歴マネージャを使用する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Mobile-Tutorial:_Konfigurieren_der_Entwicklungsumgebung_auf_dem_Mac_(iOS)&amp;diff=215125</id>
		<title>Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Mac (iOS)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Mobile-Tutorial:_Konfigurieren_der_Entwicklungsumgebung_auf_dem_Mac_(iOS)&amp;diff=215125"/>
		<updated>2021-03-09T14:02:44Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Mobile-Tutorials: Mobile Anwendungsentwicklung (iOS und Android)}}&lt;br /&gt;
{{DISPLAYTITLE:Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Mac (iOS)}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
{{FM}}-Anwendungen in {{Delphi}} für die iOS-Zielplattform können optional mit dem &#039;&#039;&#039;iOS-Simulator&#039;&#039;&#039; auf dem Mac getestet werden. {{FM}}-Anwendungen in C++ und {{Delphi}} können mit der Zielplattform &#039;&#039;&#039;iOS-Geräte&#039;&#039;&#039; getestet werden; dazu muss ein iOS-Testgerät an den Mac angeschlossen sein.&lt;br /&gt;
&lt;br /&gt;
* Im ersten Teil dieses Tutorials werden die Schritte beschrieben, die zur Ausführung einer iOS-Anwendung (nur {{Delphi}}) auf dem &#039;&#039;&#039;iOS-Simulator&#039;&#039;&#039; auf dem Mac erforderlich sind.&lt;br /&gt;
* Im zweiten Teil dieses Tutorials werden weitere Schritte beschrieben, die Sie zur Ausführung einer iOS-Anwendung ({{Delphi}} oder C++) auf &#039;&#039;&#039;Ihrem iOS-Gerät&#039;&#039;&#039; durchführen müssen.&lt;br /&gt;
&lt;br /&gt;
{{Note| Der &#039;&#039;&#039;iOS-Simulator&#039;&#039;&#039; wird von [[BCCIOSARM.EXE: Der C++-Compiler für 32-Bit-iOS-Geräte|BCCIOSARM, dem C++-Compiler für iOS-Geräte]] nicht unterstützt. Von BCCIOSARM werden nur iOS-Geräte unterstützt.}}&lt;br /&gt;
&lt;br /&gt;
==Voraussetzungen für den Mac und iOS==&lt;br /&gt;
&lt;br /&gt;
* 10.9 Mavericks&lt;br /&gt;
* 10.10 Yosemite&lt;br /&gt;
* 10.11 El Capitan&lt;br /&gt;
*:(Diese beiden Betriebssysteme werden nicht auf alten PowerPC- und 680x0-basierten Macintosh-Systemen unterstützt. Alle Macs seit 2007 sind Intel-basiert; alle Macs seit 2008 verwenden 64 Bit.)&lt;br /&gt;
* Für die OS X-Entwicklung die neueste Version von [[Installieren von Xcode auf einem Mac|Xcode]]&lt;br /&gt;
* Für die iOS-Entwicklung die neueste Version des iOS-SDK und von &#039;&#039;&#039;[[Installieren von Xcode auf einem Mac|Xcode]]&#039;&#039;&#039; zusammen mit den &#039;&#039;&#039;[[Installieren der Xcode-Befehlszeilen-Tools auf einem Mac|Xcode-Befehlszeilentools]]&#039;&#039;&#039;.&lt;br /&gt;
{{Note| {{Product}} unterstützt keine Versionen des iOS-SDK unter 8.0.}}&lt;br /&gt;
* [[Teilnehmen am Apple-Entwicklerprogramm|Mitgliedschaft beim Apple-Entwicklerprogramm]].&lt;br /&gt;
* An den Mac über einen USB-Anschluss angeschlossenes iOS-Gerät (erforderlich zum Testen und Ausführen der iOS-App auf dem Gerät)&lt;br /&gt;
&lt;br /&gt;
==Schritte zum Konfigurieren des Mac für die Ausführung einer iOS-Anwendung==&lt;br /&gt;
&lt;br /&gt;
Für die Bereitstellung einer iOS-Anwendung auf Ihrem Gerät zum Debuggen und Testen sollte Ihr System wie in der folgenden Abbildung dargestellt konfiguriert sein. {{Product}} wird auf einem Windows-PC ausgeführt. Dieser PC ist mit einem Mac verbunden, auf dem der &#039;&#039;&#039;[[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant]]&#039;&#039;&#039; ausgeführt wird und die geeigneten Versionen von &#039;&#039;&#039;[[Installieren von Xcode auf einem Mac|Xcode]]&#039;&#039;&#039; und dem iOS SDK (für die iOS-Entwicklung) installiert sind. Um iOS-Apps auf einem iOS-Gerät auszuführen, muss das iOS-Gerät über ein USB-Kabel an den Mac angeschlossen sein.&lt;br /&gt;
&lt;br /&gt;
[[File:Win2Mac2.png|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine iOS-Anwendung an den &#039;&#039;&#039;iOS-Simulator&#039;&#039;&#039; auf dem Mac oder an ein iOS-Gerät weiterzugeben, müssen Sie die folgenden Tools auf dem Mac installieren:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant (PAServer)]]&#039;&#039;&#039;&lt;br /&gt;
** {{Product}} verwendet den &#039;&#039;&#039;[[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant]]&#039;&#039;&#039;, um [[Debuggen von geräteübergreifenden Anwendungen|geräteübergreifende Anwendungen auszuführen und zu debuggen]] und um [[Bereitstellung von geräteübergreifenden Anwendungen|geräteübergreifende Anwendungen auf Mac OS X- und iOS-Geräten bereitzustellen]].&lt;br /&gt;
** [[Installieren des Platform Assistant auf dem Mac|Installieren]] Sie den &amp;quot;Platform Assistant&amp;quot; auf Ihrem Mac, und [[Ausführen des Platform Assistant auf dem Mac|führen Sie ihn aus]].&lt;br /&gt;
*&#039;&#039;&#039;[http://developer.apple.com/xcode/ Xcode (EN)]&#039;&#039;&#039;&lt;br /&gt;
*: Xcode, die Entwicklungs- und Debug-Umgebung auf dem Mac, stellt die für die Entwicklung erforderlichen Dateien für OS X- und iOS-Anwendungen bereit.&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Installieren des &amp;quot;Platform Assistant&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
Der [[PAServer: Die Platform Assistant Server-Anwendung|Platform Assistant]] muss auf dem Mac ausgeführt werden, wenn Sie eine iOS-App vom PC an den iOS-Simulator oder ein iOS-Gerät weitergeben.&lt;br /&gt;
&lt;br /&gt;
Das OS X-Installationsprogramm für den &amp;quot;Platform Assistant&amp;quot; heißt {{Path|{{PAServerOSXInstallerFile}}}} und befindet sich an zwei Orten:&lt;br /&gt;
&lt;br /&gt;
* Im {{Product}}-Installationsverzeichnis auf Ihrem PC:&lt;br /&gt;
*: {{Path|{{PAServerOSXInstallerPath}}}}&lt;br /&gt;
* Im Web zum Herunterladen auf den Mac:&lt;br /&gt;
*: {{Path|{{PAServerOSXInstallerUrl}}}}&lt;br /&gt;
&lt;br /&gt;
: [[File:Installing PAServer1.png|400px|Installieren von PAServer]]&lt;br /&gt;
&lt;br /&gt;
Weitere Einzelheiten finden Sie unter &#039;&#039;&#039;[[Installieren des Platform Assistant auf dem Mac|Installieren des Platform Assistant auf dem Mac]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: Ausführen des &amp;quot;Platform Assistant&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
Aktivieren Sie auf dem Mac im Finder die .app-Datei ({{Path|{{PAServerOSXAppFile}}}}) wie folgt:&lt;br /&gt;
&lt;br /&gt;
# Navigieren Sie zum obersten &#039;&#039;&#039;Applications&#039;&#039;&#039;-Ordner.&lt;br /&gt;
# Doppelklicken Sie auf {{Path|{{PAServerOSXAppFile}}}}, um den &amp;quot;Platform Assistant&amp;quot; zu starten:&lt;br /&gt;
#:[[Image:SelectNewRADPAServer.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#:Das Terminal-Fenster wird mit dem &amp;quot;Platform Assistant&amp;quot;-Banner und der Passworteingabeaufforderung angezeigt:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#::&amp;lt;code&amp;gt;Verbindungsprofil-Passwort &amp;amp;lt;Eingabetaste für kein Passwort&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#: Drücken Sie entweder die &#039;&#039;&#039;Eingabetaste&#039;&#039;&#039;, oder geben Sie ein Passwort für PAServer ein, und drücken Sie dann die Eingabetaste.&amp;lt;br /&amp;gt;&lt;br /&gt;
# Als Nächstes werden Sie aufgefordert, Ihr Mac-Benutzerpasswort einzugeben, damit der &amp;quot;Platform Assistant&amp;quot; Ihre Anwendung debuggen (die Steuerung eines anderen Prozesses übernehmen) kann.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
#:: [[File:TakeControl.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#::Geben Sie Ihr Passwort ein, und wählen Sie &#039;&#039;&#039;Take Control&#039;&#039;&#039;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#::[[Image:PAServerXE7.png||Meldung von PAServer bei der Anmeldung]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Einzelheiten zum Ausführen des &amp;quot;Platform Assistant&amp;quot; finden Sie unter [[Ausführen des Platform Assistant auf dem Mac|Ausführen des Platform Assistant auf dem Mac]].&lt;br /&gt;
&lt;br /&gt;
===Schritt 3: Installieren von Xcode auf dem Mac===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://developer.apple.com/xcode/ Xcode (EN)]&#039;&#039;&#039;, die Entwicklungs- und Debug-Umgebung auf dem Mac, stellt die für die Entwicklung erforderlichen Dateien für [[OS X-Anwendungsentwicklung|OS X]]- und [[Mobile iOS-Anwendungsentwicklung|iOS]]-Anwendungen bereit.&lt;br /&gt;
&lt;br /&gt;
Xcode kann von einer der folgenden Quellen installiert werden:&lt;br /&gt;
&lt;br /&gt;
* Doppelklicken Sie zum Installieren von Xcode auf Ihrem System auf der OS X-Installations-DVD unter dem Verzeichnis für &#039;&#039;&#039;Optionale Installationen&#039;&#039;&#039; auf &#039;&#039;&#039;Xcode.mpkg&#039;&#039;&#039;.&lt;br /&gt;
* Laden Sie Xcode kostenlos aus dem [http://www.apple.com/mac/app-store/ Mac App Store (EN)] herunter.&lt;br /&gt;
* Als registrierter Apple-Entwickler können Sie die kostenlose Version von Xcode als Paket (&amp;lt;code&amp;gt;.dmg&amp;lt;/code&amp;gt;) herunterladen. So registrieren Sie sich und laden Xcode herunter:&lt;br /&gt;
*# Registrieren Sie sich (kostenlos) als Apple-Entwickler unter [http://developer.apple.com/programs/register/ http://developer.apple.com/programs/register/ (EN)].&lt;br /&gt;
*# Laden Sie Xcode als Paket von [https://developer.apple.com/downloads https://developer.apple.com/downloads (EN)] herunter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nächste Schritte===&lt;br /&gt;
&lt;br /&gt;
Sie haben Ihren Mac für die Ausführung einer iOS-Anwendung auf dem &#039;&#039;&#039;iOS-Simulator&#039;&#039;&#039; konfiguriert.&lt;br /&gt;
&lt;br /&gt;
{{Note|Auf dem &#039;&#039;&#039;iOS-Simulator&#039;&#039;&#039; können nur {{Delphi}}-Anwendungen ausgeführt werden. {{CBuilder}} unterstützt den iOS-Simulator nicht.}}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;iOS-Simulator:&#039;&#039;&#039; Um eine iOS-Anwendung (nur {{Delphi}}) auf dem &#039;&#039;&#039;iOS-Simulator&#039;&#039;&#039; auf dem Mac auszuführen, ist der zweite Teil dieses Tutorials nicht erforderlich. Sie können gleich mit dem nächsten Tutorial (&#039;&#039;&#039;[[Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Windows-PC (iOS)|Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Windows-PC (iOS)]]&#039;&#039;&#039;) fortfahren, um die Konfiguration der {{Product}}-IDE abzuschließen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;iOS-Gerät:&#039;&#039;&#039; Anhand der folgenden Schritte in diesem Tutorial können Sie die Konfiguration Ihres Macs abschließen und Ihre iOS-Anwendung ({{Delphi}} oder {{CBuilder}}) auf Ihrem &#039;&#039;&#039;iOS-Gerät&#039;&#039;&#039; ausführen. Fahren Sie dann mit dem nächsten Tutorial (&#039;&#039;&#039;[[Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Windows-PC (iOS)|Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Windows-PC (iOS)]]&#039;&#039;&#039;) fort, um die Konfiguration der {{Product}}-IDE abuzuschließen.&lt;br /&gt;
&lt;br /&gt;
[[File:WhiteSpace50.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Weitere Schritte zum Konfigurieren des Mac für die Ausführung einer iOS-Anwendung auf dem iOS-Simulator=&lt;br /&gt;
&lt;br /&gt;
Anhand der folgenden Schritte können Sie eine iOS-Anwendung auf Ihrem &#039;&#039;&#039;iOS-Gerät&#039;&#039;&#039; ausführen.&lt;br /&gt;
&lt;br /&gt;
[[File:Win2Mac2iOSDevice2.png|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Denken Sie daran, dass Ihr iOS-Gerät über ein USB-Kabel an den Mac angeschlossen sein muss.&lt;br /&gt;
&lt;br /&gt;
==Schritt 1: Überprüfen, ob die Xcode-Befehlszeilentools auf dem Mac installiert sind==&lt;br /&gt;
&lt;br /&gt;
{{Note| Ab Xcode Version 6.1 werden die Xcode-Befehlszeilentools automatisch bei der Xcode-Installation installiert.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So überprüfen Sie, ob die [[Installieren der Xcode-Befehlszeilen-Tools auf einem Mac|Xcode-Befehlszeilentools auf dem Mac installiert sind]]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Starten Sie Xcode auf dem Mac.&lt;br /&gt;
# Wählen Sie im {{Menu|Xcode}}-Menü {{Menu|Preferences}} aus.&lt;br /&gt;
#: [[File:XcodePreference.png]]&lt;br /&gt;
# Klicken Sie im Fenster &#039;&#039;&#039;General&#039;&#039;&#039; auf die Registerkarte &#039;&#039;&#039;Locations&#039;&#039;&#039;.&lt;br /&gt;
# Überprüfen Sie im Fenster &#039;&#039;&#039;Location&#039;&#039;&#039;, ob im Feld &#039;&#039;&#039;Command Line Tools&#039;&#039;&#039; die Xcode-Version (mit der die Befehlszeilentools installiert wurden) angezeigt wird. Wenn diese Version angezeigt wird, sind die Xcode-Befehlszeilentools bereits installiert, und Sie müssen sie nicht installieren.&lt;br /&gt;
#: [[File:XcodeLocations.png]]&lt;br /&gt;
# Wenn die Xcode-Befehlszeilentools nicht installiert sind: Im Feld &#039;&#039;&#039;Command Line Tools&#039;&#039;&#039; wird die Xcode-Version nicht angezeigt.&lt;br /&gt;
## In diesem Fall, klicken Sie im Fenster &#039;&#039;&#039;Location&#039;&#039;&#039;  auf die Registerkarte &#039;&#039;&#039;Downloads&#039;&#039;&#039;.&lt;br /&gt;
## Klicken Sie im Fenster &#039;&#039;&#039;Downloads&#039;&#039;&#039; auf die Registerkarte &#039;&#039;&#039;Components&#039;&#039;&#039;.&lt;br /&gt;
##: [[File:InstallingiOSCommandLineTools.png|600px]]&lt;br /&gt;
## Klicken Sie neben &#039;&#039;&#039;Command Line Tools&#039;&#039;&#039; auf die Schaltfläche &#039;&#039;&#039;Install&#039;&#039;&#039;.&lt;br /&gt;
#:Während der Installation werden Sie nach Ihren Apple-Entwickler-Anmeldedaten gefragt.&lt;br /&gt;
&lt;br /&gt;
Weitere Einzelheiten finden Sie unter [[Installieren der Xcode-Befehlszeilen-Tools auf einem Mac|Installieren der Xcode-Befehlszeilen-Tools auf einem Mac|Xcode-Befehlszeilen-Tools]].&lt;br /&gt;
&lt;br /&gt;
==Schritt 2: Anmelden für ein Entwicklerkonto==&lt;br /&gt;
&lt;br /&gt;
Für das Erzeugen, Ausführen, Debuggen und Bereitstellen von Anwendungen für iOS müssen Sie Mitglied beim Apple-Entwicklerprogramm sein.&lt;br /&gt;
&lt;br /&gt;
Führen Sie die unter [[Teilnehmen am Apple-Entwicklerprogramm|Beitreten zum Apple-Entwicklerprogramm]] beschriebenen Schritte aus.&lt;br /&gt;
&lt;br /&gt;
==Schritt 3: Anfordern, Herunterladen und Installieren Ihres Entwicklungszertifikats==&lt;br /&gt;
&lt;br /&gt;
Anwendungen, die auf dem Gerät (oder auf dem iOS-Simulator) bereitgestellt werden, müssen vor deren Ausführung verschlüsselt signiert werden. Das &#039;&#039;&#039;Entwicklungszertifikat&#039;&#039;&#039; enthält die für die Signierung von Anwendungen erforderlichen Informationen. Jede Einzelperson (ein einzelner Entwickler oder ein Teammitglied) muss über ein eindeutiges Entwicklungszertifikat verfügen, das für mehrere Anwendungen verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
Für Entwicklungsteams müssen Entwicklungszertifikate von jedem Teammitglied angefordert werden, und diese Anforderungen müssen von einem Teamadministrator genehmigt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Anfordern, Herunterladen und Installieren Ihres Zertifikats===&lt;br /&gt;
&lt;br /&gt;
# Wählen Sie in der Anwendung &#039;&#039;&#039;Schlüsselbundverwaltung&#039;&#039;&#039; auf dem Mac aus dem Menü &#039;&#039;&#039;Schlüsselbundverwaltung&#039;&#039;&#039;:  &#039;&#039;&#039;Zertifikatsassistent &amp;amp;gt; Zertifikat einer Zertifizierungsinstanz anfordern&#039;&#039;&#039; aus:&lt;br /&gt;
#: [[File:RequestCertificateDev.png|500px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* Wenn Sie Mitglied eines Entwicklungsteams für ein Unternehmens/Organisationsprogramm sind, muss Ihr Teamadministrator Ihre Anforderung genehmigen. Nach der Genehmigung durch den Teamadministrator können Sie das Zertifikat herunterladen.&lt;br /&gt;
#* Wenn Sie Einzelentwickler sind, sollte kurz nach Ihrer Anforderung eine Option zum Herunterladen Ihres Zertifikats angezeigt werden. Einzelheiten dazu finden Sie in der Apple-Dokumentation unter: [https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html Code Signing Guide (EN)] (Erstellen von Signierungszertifikaten).&lt;br /&gt;
#: Speichern Sie die Zertifikatsanforderung als CSR-Datei, und senden Sie diese Datei dann über das [https://developer.apple.com/ios/my/certificates/index.action iOS provisioning portal (EN)] (iOS-Bereitstellungsportal) folgendermaßen an Ihre Zertifizierungsinstanz:&lt;br /&gt;
## Geben Sie Ihre Apple-ID und Ihr Passwort ein, und klicken Sie dann auf &#039;&#039;&#039;Sign In&#039;&#039;&#039;.&lt;br /&gt;
## Klicken Sie unter &#039;&#039;&#039;iOS Apps&#039;&#039;&#039; auf &#039;&#039;&#039;Certificates&#039;&#039;&#039;.&lt;br /&gt;
## Klicken Sie auf der daraufhin angezeigten Seite auf das Pluszeichen (+).&amp;lt;br /&amp;gt;Dadurch wird der Experte &#039;&#039;&#039;Add iOS Certificate&#039;&#039;&#039; geöffnet.&lt;br /&gt;
## Klicken Sie auf der Seite &#039;&#039;&#039;Select Type&#039;&#039;&#039; auf &#039;&#039;&#039;Continue&#039;&#039;&#039;, und befolgen Sie die Anleitungen auf dem Bildschirm, um mit dem Experten fortzufahren.&lt;br /&gt;
## Wenn Sie dazu aufgefordert werden, laden Sie die CSR-Datei hoch, die Sie auf dem Mac gespeichert haben.&lt;br /&gt;
# Wechseln Sie zum [https://developer.apple.com/ios/my/certificates/index.action iOS Provisioning Portal (EN)]. Sie können das Entwicklungszertifikat durch Klicken auf die Schaltfläche &#039;&#039;&#039;Download&#039;&#039;&#039;, wie in der folgenden Abbildung gezeigt, herunterladen:&lt;br /&gt;
#: [[File:DownloadDevelopmentCertificate.png|500px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Rufen Sie das Entwicklungszertifikat durch einen Doppelklick ab. Es wird automatisch in der Anwendung &#039;&#039;&#039;Schlüsselbundverwaltung&#039;&#039;&#039; geladen.&lt;br /&gt;
&lt;br /&gt;
==Schritt 4: Registrieren Ihres Geräts für die Bereitstellung==&lt;br /&gt;
&lt;br /&gt;
Bevor auf einem Gerät Benutzeranwendungen ausgeführt werden können, muss es im [https://developer.apple.com/ios/my/devices/index.action Apple Provisioning Portal (EN)] (Apple-Bereitstellungsportal) registriert werden. Geräte werden anhand der eindeutigen Geräte-ID (Unique Device ID, UDID) registriert. Die UDID wird mit Xcode wie folgt ermittelt:&lt;br /&gt;
&lt;br /&gt;
# Schließen Sie Ihr iOS-Gerät an Ihren Mac-Computer an.&lt;br /&gt;
# Öffnen Sie Xcode und dann die Registerkarte &#039;&#039;&#039;Devices&#039;&#039;&#039; (&#039;&#039;&#039;Window &amp;amp;gt; Devices&#039;&#039;&#039;).&lt;br /&gt;
# Klicken Sie auf Ihr Gerät.&lt;br /&gt;
# Neben der Beschriftung &#039;&#039;&#039;Bezeichner&#039;&#039;&#039; befindet sich eine Zeichenfolge:&lt;br /&gt;
#: [[File:DeviceUDID.png|540px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#: Diese Zeichenfolge ist die UDID Ihres Geräts.&lt;br /&gt;
#:* Wenn Sie Einzelentwickler sind, registrieren Sie Ihr Gerät, indem Sie im [https://developer.apple.com/ios/my/devices/index.action Apple Provisioning Portal auf der Registerkarte &amp;quot;Devices&amp;quot; (EN)] die UDID angeben.&lt;br /&gt;
#:* Wenn Sie Teil eines Unternehmens- oder Organisationsteams sind, bitten Sie Ihren Teamadministrator, Ihr Gerät zu registrieren.&lt;br /&gt;
&lt;br /&gt;
==Schritt 5: Erstellen und Installieren eines Bereitstellungsprofils==&lt;br /&gt;
&lt;br /&gt;
Über Bereitstellungsprofile werden Entwickler und Geräte mit einem Entwicklungsteam verknüpft. Dieses Bereitstellungsprofil ist zum Ausführen von Anwendungen auf einem iOS-Gerät erforderlich.&lt;br /&gt;
&lt;br /&gt;
* Wenn Sie Einzelentwickler sind, müssen Sie ein Bereitstellungsprofil erstellen. Genaue Informationen dazu finden Sie unter: [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/Introduction/Introduction.html Creating and Downloading a Distribution Provisioning Profile (EN)] (Erstellen und Herunterladen eines Bereitstellungsprofils für die Weitergabe).&lt;br /&gt;
* Wenn Sie Teil eines Unternehmens/Organisationsteams sind, müssen Ihre Teamadministratoren ein Bereitstellungsprofil erstellen, das Sie verwenden können.&lt;br /&gt;
&lt;br /&gt;
Das erstellte Bereitstellungsprofil muss wie folgt in Xcode installiert werden:&lt;br /&gt;
&lt;br /&gt;
# Öffnen Sie Xcode auf dem Mac und dann die Registerkarte &amp;quot;Devices&amp;quot; (&#039;&#039;&#039;Window &amp;amp;gt; Devices&#039;&#039;&#039;).&lt;br /&gt;
# Klicken Sie mit der rechten Maustaste auf das Gerät, und wählen Sie &#039;&#039;&#039;Show Provisioning Profiles…&#039;&#039;&#039;&lt;br /&gt;
#:[[File:ShowProvisioningProfiles.png|600px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Klicken Sie auf die &#039;&#039;&#039;Schaltfläche mit dem Pluszeichen&#039;&#039;&#039;, um ein Bereitstellungsprofil hinzuzufügen.&lt;br /&gt;
#:[[File:PlusButtonAddProvisioningProfiles.png|600px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Suchen Sie Ihr Bereitstellungsprofil, wählen Sie es aus, und klicken Sie auf &#039;&#039;&#039;Install&#039;&#039;&#039;.&lt;br /&gt;
# Klicken Sie auf &#039;&#039;&#039;Done&#039;&#039;&#039;, um das Dialogfeld zu schließen.&lt;br /&gt;
&lt;br /&gt;
Sie haben Ihren Mac für die Ausführung der iOS-Anwendung auf Ihrem &#039;&#039;&#039;iOS-Gerät&#039;&#039;&#039; konfiguriert.&lt;br /&gt;
&lt;br /&gt;
Informationen zum Ausführen der iOS-Anwendung und zum Fertigstellen der Konfiguration in der {{Product}}-IDE finden Sie unter [[Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Windows-PC (iOS)|Mobil-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Windows-PC (iOS)]]. (Wenn Sie Ihren PC zur Ausführung der Anwendung auf dem &#039;&#039;&#039;iOS-Simulator&#039;&#039;&#039; konfiguriert haben, können Sie diesen Schritt überspringen.)&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Windows-PC (iOS)|Mobile-Tutorial: Konfigurieren der Entwicklungsumgebung auf dem Windows-PC (iOS)]]&lt;br /&gt;
* [[Mobile-Tutorial: Erstellen einer Anwendung für mobile Plattformen (iOS und Android)|Mobile-Tutorial: Erstellen einer Anwendung für mobile Plattformen (iOS und Android)]]&lt;br /&gt;
* [[PAServer: Die Platform Assistant Server-Anwendung|PAServer: Die Platform Assistant Server-Anwendung]]&lt;br /&gt;
* [[Installieren von Xcode auf einem Mac|Installieren von Xcode auf einem Mac]]&lt;br /&gt;
* [[Installieren der Xcode-Befehlszeilen-Tools auf einem Mac|Installieren der Xcode-Befehlszeilen-Tools auf einem Mac]]&lt;br /&gt;
* [[Installieren des Platform Assistant auf dem Mac|Installieren des Platform Assistant auf dem Mac]]&lt;br /&gt;
* [[Ausführen des Platform Assistant auf dem Mac|Ausführen des Platform Assistant auf dem Mac]]&lt;br /&gt;
* [[Erwerben eines iOS-Entwicklerzertifikats|Erwerben eines iOS-Entwicklerzertifikats]]&lt;br /&gt;
* [[Fehlerbehebung: Kann nicht auf dem iOS-Gerät bereitgestellt werden|Fehlerbehebung: Bereitstellung auf dem iOS-Gerät nicht möglich]]&lt;br /&gt;
* Nützliche Apple-Webseiten:&lt;br /&gt;
** [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html Creating and Configuring App IDs (EN)] (Erstellen und Konfigurieren von App-IDs)&lt;br /&gt;
** [https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html Creating signing certificates (Code Signing Guide) (EN)] (Erstellen von Signierungszertifikaten)&lt;br /&gt;
** [https://developer.apple.com/ios/my/certificates/index.action iOS Provisioning Portal (EN)] (iOS-Bereitstellungsportal) (Anmeldung als Apple-Entwickler erforderlich)&lt;br /&gt;
** [https://developer.apple.com/ios/my/devices/index.action Devices tab of the Apple Provisioning Portal (EN)] (Registerkarte &amp;quot;Geräte&amp;quot; im Apple-Bereitstellungsportal)&lt;br /&gt;
** [https://appleid.apple.com/cgi-bin/WebObjects/MyAppleId.woa/wa/createAppleId Create an Apple ID (EN)] (Erstellen einer Apple-ID)&lt;br /&gt;
** [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html#//apple_ref/doc/uid/TP40012582-CH30-SW1 Creating and Downloading a Distribution Provisioning Profile (EN)] (Erstellen und Herunterladen eines Bereitstellungsprofils für die Weitergabe)&lt;br /&gt;
&lt;br /&gt;
[[Category:XE4]]&lt;br /&gt;
[[Category:IOS]]&lt;br /&gt;
[[Category:OS X]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Mobile Tutorial: Set Up Your Development Environment on the Mac (iOS)]]&lt;br /&gt;
[[fr:Tutoriel mobile : Définition de votre environnement de développement sur le Mac (iOS)]]&lt;br /&gt;
[[ja:モバイル チュートリアル：Mac に開発環境をセットアップする（iOS）]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Pseudo-Eigenschaft_ClassGroup_von_TDataModule&amp;diff=215118</id>
		<title>Pseudo-Eigenschaft ClassGroup von TDataModule</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Pseudo-Eigenschaft_ClassGroup_von_TDataModule&amp;diff=215118"/>
		<updated>2021-02-26T15:24:16Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Standard-Datenmodule erstellen und bearbeiten}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Wirkungen der Pseudo-Eigenschaft ClassGroup==&lt;br /&gt;
&lt;br /&gt;
[[lib_de:System.Classes.TDataModule|System.Classes.TDataModule]] und davon abgeleitete Klassen, wie [[lib_de:Web.HTTPApp.TWebModule|Web.HTTPApp.TWebModule]], verfügen über die Pseudo-Eigenschaft &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;, die Folgendes bewirkt:&lt;br /&gt;
&lt;br /&gt;
* Legt die Framework-Verbindung für das Datenmodul fest. &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; gibt an, dass das Datenmodul entweder Framework-unabhängig oder für ein bestimmtes Framework (nämlich VCL oder FMX) vorgesehen ist.&lt;br /&gt;
* Aktiviert Framework-spezifische, nicht-visuelle Komponenten in der &#039;&#039;&#039;[[Tool-Palette|Tool-Palette]]&#039;&#039;&#039;.&lt;br /&gt;
*: Für &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; müssen Sie im &#039;&#039;&#039;[[Objektinspektor|Objektinspektor]]&#039;&#039;&#039; einen [[Festlegen der Framework-Verbindung für ein Datenmodul|Framework-spezifischen Wert setzen]], damit Framework-spezifische, nicht-visuelle Komponenten, wie die folgenden, aktiviert werden:&lt;br /&gt;
** &#039;&#039;&#039;[[lib_de:Vcl.ActnList.TActionList|TActionList]]&#039;&#039;&#039; steht nur in der VCL zur Verfügung. Um &#039;&#039;&#039;TActionList&#039;&#039;&#039; in der Tool-Palette zu aktivieren, müssen Sie &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; auf die VCL-Einstellung setzen.&lt;br /&gt;
** &#039;&#039;&#039;TTimer&#039;&#039;&#039; ist sowohl in FMX als auch der VCL vorhanden. Um TTimer für das richtige Framework zu aktivieren, müssen Sie &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; entweder auf FMX oder auf VCL (entsprechend dem Framework der übergeordneten Anwendung) setzen.&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
:: (&#039;&#039;&#039;TTimer&#039;&#039;&#039; und &#039;&#039;&#039;TActionList&#039;&#039;&#039; werden weiter unten in diesem Thema ausführlicher behandelt).&lt;br /&gt;
&lt;br /&gt;
Da die Pseudo-Eigenschaft &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; nur von der IDE verwendet wird und keine vom Compiler erzeugte Eigenschaft ist (daher &amp;quot;Pseudo-Eigenschaft&amp;quot;), ist sie in der vom Compiler erzeugten [[lib_de:Hauptseite|Bibliotheksreferenz]] nicht dokumentiert. Die Seite, die Sie gerade lesen, ist die Dokumentation für &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Note| Die beiden Frameworks, &#039;&#039;&#039;VCL&#039;&#039;&#039; und &#039;&#039;&#039;FMX&#039;&#039;&#039;, sind nicht wechselseitig kompatibel.  Aus diesem Grund wird die Kombination der VCL mit FMX in einer Anwendung nicht unterstützt.  Siehe [[FireMonkey#Die VCL ist mit FireMonkey nicht kompatibel|FireMonkey-Anwendungsplattform]].}}&lt;br /&gt;
&lt;br /&gt;
==Werte von ClassGroup==&lt;br /&gt;
&lt;br /&gt;
Im Folgenden finden Sie die Werte für &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;, die Sie im &#039;&#039;&#039;Objektinspektor&#039;&#039;&#039; auswählen können, sowie das Framework und die RTL-Elemente, die für das jeweilige Framework verwendet werden können:&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;ClassGroup&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Zugeordnetes Framework &#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Laufzeitbibliothek &#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{{Code|System.Classes.TPersistent}}&lt;br /&gt;
|&lt;br /&gt;
Keines (Framework-unabhängig)&lt;br /&gt;
|&lt;br /&gt;
{{Delphi}}-RTL&lt;br /&gt;
&lt;br /&gt;
(außer nicht unterstützte Framework-spezifische Elemente)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{{Code|Vcl.Controls.TControl}}&lt;br /&gt;
|&lt;br /&gt;
VCL-Framework&lt;br /&gt;
|&lt;br /&gt;
{{Delphi}}-RTL&lt;br /&gt;
&lt;br /&gt;
(außer nicht unterstützte Framework-spezifische Elemente)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{{Code|FMX.Controls.TControl}}&lt;br /&gt;
|&lt;br /&gt;
FMX-Framework&lt;br /&gt;
|&lt;br /&gt;
{{Delphi}}-RTL&lt;br /&gt;
&lt;br /&gt;
(außer nicht unterstützte Framework-spezifische Elemente)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==TDataModule ist zunächst Framework-unabhängig; mit ClassGroup wird die Framework-Zuordnung festgelegt==&lt;br /&gt;
&lt;br /&gt;
Beim Erstellen eines Datenmoduls enthält die Unit-Datei eine Direktive, die die Pseudo-Eigenschaft &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; folgendermaßen auf einen Framework-unabhängigen Basiswert (&#039;&#039;&#039;System.Classes.TPersistent&#039;&#039;&#039;) setzt:&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; {%CLASSGROUP &#039;System.Classes.TPersistent&#039;} &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C++:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #pragma classgroup &amp;quot;System.Classes.TPersistent&amp;quot; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Diese Direktive wird nur von der IDE verwendet und gibt die Verbindung des Datenmoduls mit einem bestimmten Komponenten-Framework (sofern vorhanden) an. Die IDE zeigt dann die Arten von Komponenten an, die auf dem Datenmodul abgelegt werden können.  &amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn Sie den &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;-Wert ändern, wird die Direktive automatisch im Code geändert.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Weil &#039;&#039;&#039;[[lib_de:System.Classes.TDataModule|TDataModule]]&#039;&#039;&#039; anfänglich Framework-unabhängig ist, können Sie ein Datenmodul mit dem VCL- oder dem {{FM}}-Framework erstellen. Das bedeutet aber auch, dass Framework-spezifische Klassen und Member (wie &#039;&#039;&#039;[[lib_de:Vcl.ActnList.TActionList|Vcl.ActnList.TActionList]]&#039;&#039;&#039; und &#039;&#039;&#039;[[lib_de:FMX.Types.TTimer|FMX.Types.TTimer]]&#039;&#039;&#039;) für ein Framework-unabhängiges Datenmodul in der &#039;&#039;&#039;Tool-Palette&#039;&#039;&#039; nicht verfügbar sind.  Die passenden Framework-spezifischen Klassen und Member können Sie im &#039;&#039;&#039;Objektinspektor&#039;&#039;&#039; durch Setzen der Eigenschaft &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; des Datenmoduls zur Angabe des richtigen Frameworks wie folgt einschließen:&lt;br /&gt;
&lt;br /&gt;
* Vcl.Controls.TControl&lt;br /&gt;
* FMX.Controls.TControl (OS X)&lt;br /&gt;
&lt;br /&gt;
===Beispiele für Framework-spezifische, nicht-visuelle Komponenten===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[lib_de:Vcl.ActnList.TActionList|TActionList]]&#039;&#039;&#039; ist eine nicht-visuelle VCL-Komponente und erscheint daher nicht in der &#039;&#039;&#039;Tool-Palette&#039;&#039;&#039; für ein Datenmodul, dessen Pseudo-Eigenschaft &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; auf &#039;&#039;&#039;System.Classes.TPersistent&#039;&#039;&#039; (Framework-unabhängig) anstatt auf &#039;&#039;&#039;Vcl.Controls.TControl&#039;&#039;&#039; (Framework-spezifisch) gesetzt ist. Ebenso steht &#039;&#039;&#039;TActionList&#039;&#039;&#039; nicht zur Verfügung, wenn &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; auf &#039;&#039;&#039;FMX.Controls.TControl&#039;&#039;&#039; gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
* Für &#039;&#039;&#039;TTimer&#039;&#039;&#039; sind die folgenden beiden Framework-spezifischen Implementierungen vorhanden:&lt;br /&gt;
** [[lib_de:FMX.Types.TTimer|FMX.Types.TTimer]]&lt;br /&gt;
** [[lib_de:Vcl.ExtCtrls.TTimer|Vcl.ExtCtrls.TTimer]]&lt;br /&gt;
*: In beiden Fällen steht &#039;&#039;&#039;TTimer&#039;&#039;&#039; in der &#039;&#039;&#039;Tool-Palette&#039;&#039;&#039; nur zur Verfügung, wenn die Eigenschaft &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; auf einen Framework-spezifischen Wert und nicht auf das Framework-unabhängige &#039;&#039;&#039;System.Classes.TPersistent&#039;&#039;&#039; gesetzt ist. Da aber für &#039;&#039;&#039;TTimer&#039;&#039;&#039; sowohl eine VCL- als auch eine FMX-Implementierung verfügbar ist, müssen Sie sicherstellen, dass für das Datenmodul der dem Anwendungs-Framework entsprechende &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;-Wert gesetzt ist. Andernfalls könnten Fehler auftreten.&lt;br /&gt;
&lt;br /&gt;
* Beispiele für Framework-spezifische Komponenten, auf die sich der &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;-Wert auswirkt:&lt;br /&gt;
** &#039;&#039;&#039; TMainMenu:&#039;&#039;&#039;[[lib_de:Vcl.Menus.TMainMenu|Vcl.Menus.TMainMenu]] und [[lib_de:FMX.Menus.TMainMenu|FMX.Menus.TMainMenu]]&lt;br /&gt;
** &#039;&#039;&#039;TPopupMenu:&#039;&#039;&#039;[[lib_de:Vcl.Menus.TPopupMenu|Vcl.Menus.TPopupMenu]] und [[lib_de:FMX.Menus.TPopupMenu|FMX.Menus.TPopupMenu]]&lt;br /&gt;
** &#039;&#039;&#039;TOpenDialog:&#039;&#039;&#039;[[lib_de:Vcl.Dialogs.TOpenDialog|Vcl.Dialogs.TOpenDialog]] und [[lib_de:FMX.Dialogs.TOpenDialog|FMX.Dialogs.TOpenDialog]]&lt;br /&gt;
&lt;br /&gt;
Nach Auswahl der gewünschten &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; müssen Sie ggf. zur Registerkarte &#039;&#039;&#039;Bearbeiten&#039;&#039;&#039; und dann zurück zur Registerkarte &#039;&#039;&#039;Design&#039;&#039;&#039; wechseln, um die &#039;&#039;&#039;Tool-Palette&#039;&#039;&#039; mit der &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;-Auswahl zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
==Fehlerbehebung==&lt;br /&gt;
&lt;br /&gt;
Wenn Sie in einer VCL-Formularanwendung ein Datenmodul erstellen und für die Eigenschaft &#039;&#039;&#039;ClassGroup&#039;&#039;&#039; einen FMX-Wert setzen, wird, beim Versuch, eine FMX-Komponente auf dem Datenmodul abzulegen, die folgende Meldung angezeigt:&lt;br /&gt;
&lt;br /&gt;
: Class &amp;amp;lt;classname&amp;amp;gt; is not applicable to this module.&lt;br /&gt;
&lt;br /&gt;
Diese Meldung erscheint, wenn der &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;-Wert des Datenmoduls nicht dem Framework der Anwendung entspricht.&lt;br /&gt;
&lt;br /&gt;
Eine ähnliche Meldung erscheint, wenn Sie eine {{FM}}-Anwendung erstellen, ein Datenmodul hinzufügen, den &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;-Wert auf &#039;&#039;Vcl.Controls.TControl&#039;&#039; setzen und versuchen, eine TTimer-Komponente auf dem Datenmodul abzulegen, weil die nicht-visuelle Komponente [[lib_de:Vcl.ExtCtrls.TTimer|Vcl.ExtCtrls.TTimer]] nicht mit dem {{FM}}-Framework kompatibel ist.&lt;br /&gt;
&lt;br /&gt;
Die folgende Meldung könnte ebenfalls von der IDE angezeigt werden:&lt;br /&gt;
&lt;br /&gt;
: The following component(s) are not available in the specified class group. &lt;br /&gt;
: This is likely to cause compile or runtime errors.&lt;br /&gt;
:&lt;br /&gt;
: FMX.Types.TTimer&lt;br /&gt;
&lt;br /&gt;
Wenn Sie versuchen, ein Projekt zu compilieren, dessen &#039;&#039;&#039;ClassGroup&#039;&#039;&#039;-Wert nicht mit dem Anwendungs-Framework kompatibel ist, werden ggf. Compiler-Fehler für Elemente angezeigt, die im aktuellen Framework nicht unterstützt werden. Unter anderem könnten folgende Fehler angezeigt werden:&lt;br /&gt;
&lt;br /&gt;
* [[X1026 Datei nicht gefunden: &#039;%s&#039; (Delphi)|X1026 Datei nicht gefunden: &#039;%s&#039; (Delphi)]]&lt;br /&gt;
* [[E2109 Kein zulässiger Typ (C++)|E2109 Kein zulässiger Typ (C++)]]&lt;br /&gt;
* [[E2209 include-Datei &#039;dateiname&#039; kann nicht geöffnet werden (C++)|E2209 include-Datei &#039;dateiname&#039; kann nicht geöffnet werden (C++)]]&lt;br /&gt;
* [[Nicht auflösbares externes &amp;quot;Symbol&amp;quot; referenziert von &amp;quot;Modul&amp;quot;|Nicht auflösbares externes &amp;quot;Symbol&amp;quot; referenziert von &amp;quot;Modul&amp;quot; (C++-Linker)]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[lib_de:System.Classes.TDataModule Properties|Eigenschaften von System.Classes.TDataModule]]&lt;br /&gt;
* [[Datenmodule verwenden|Datenmodule verwenden]]&lt;br /&gt;
* [[Festlegen der Framework-Verbindung für ein Datenmodul|Festlegen der Framework-Verbindung für ein Datenmodul]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:ClassGroup pseudo-property of TDataModule]]&lt;br /&gt;
[[fr:Pseudo-propriété ClassGroup de TDataModule]]&lt;br /&gt;
[[ja:TDataModule の ClassGroup 疑似プロパティ]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Die_Anwendung_testen_und_Fehler_entfernen&amp;diff=215116</id>
		<title>Die Anwendung testen und Fehler entfernen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Die_Anwendung_testen_und_Fehler_entfernen&amp;diff=215116"/>
		<updated>2021-02-04T03:54:32Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Einfache COM-Server erstellen - Index}}&lt;br /&gt;
&lt;br /&gt;
Vor dem Deployment der die COM-Server-Anwendung sollten Sie sie testen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Um einen Automatisierungsserver zu testen und eventuelle Fehler zu entfernen, gehen Sie folgendermaßen vor:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Aktivieren Sie, falls nötig, den Debugger. Die entsprechende Option befindet sich auf der Seite &#039;&#039;&#039;Compiler&#039;&#039;&#039; des Dialogfeldes &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Projekt &amp;amp;gt; Optionen&#039;&#039;&#039;&amp;lt;/font&amp;gt;. Schalten Sie ferner die Option &#039;&#039;&#039;Integrierter Debugger&#039;&#039;&#039; in dem über &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Tools &amp;amp;gt; Optionen &amp;amp;gt; Debugger-Optionen&#039;&#039;&#039;&amp;lt;/font&amp;gt; aufgerufenen Dialogfeld ein.&lt;br /&gt;
# Bei einem In-Process-Server wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; Parameter&#039;&#039;&#039;&amp;lt;/font&amp;gt;, geben den Namen des Automatisierungs-Controllers in das Feld &#039;&#039;&#039;Host-Anwendung&#039;&#039;&#039; ein und bestätigen mit &#039;&#039;OK&#039;&#039;.&lt;br /&gt;
# Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; Ausführen&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
# Setzen Sie Haltepunkte im Automatisierungsserver.&lt;br /&gt;
# Verwenden Sie den Automatisierungs-Controller zur Interaktion mit dem Automatisierungsserver.&lt;br /&gt;
&lt;br /&gt;
Die Ausführung des Automatisierungsservers wird unterbrochen, wenn dieser einen Haltepunkt erreicht.&lt;br /&gt;
&lt;br /&gt;
{{Note| Als Alternative können Sie bei der gleichzeitigen Erstellung eines Automatisierungs-Controllers in einen In-Process-Server debuggen, indem Sie die prozessübergreifende Unterstützung von COM aktivieren. Diese Unterstützung wird über die Seite &#039;&#039;&#039;{{Company}} Debugger&#039;&#039;&#039; des über &amp;lt;font color&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Tools &amp;amp;gt; Optionen &amp;amp;gt; Debugger-Optionen&#039;&#039;&#039;&amp;lt;/font&amp;gt; aufgerufenen Dialogfelds aktiviert.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:Testing and Debugging the Application]]&lt;br /&gt;
[[fr:Test et débogage de l&#039;application]]&lt;br /&gt;
[[ja:アプリケーションのテストとデバッグ]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Parameter_zur_Entwurfszeit_setzen&amp;diff=215115</id>
		<title>Parameter zur Entwurfszeit setzen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Parameter_zur_Entwurfszeit_setzen&amp;diff=215115"/>
		<updated>2021-02-04T03:27:49Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Parameter in Abfragen verwenden}}&lt;br /&gt;
&lt;br /&gt;
Die Parameterwerte für eine SQL-Abfrage werden zur Entwurfszeit über den Parameter-Editor angegeben. Um diesen Editor zuzugreifen, klicken Sie im &#039;&#039;&#039;Objektinspektor&#039;&#039;&#039; auf die Ellipsen-Schaltfläche (...) für die Eigenschaft &#039;&#039;Params&#039;&#039; bzw. &#039;&#039;Parameters&#039;&#039;. Falls die SQL-Anweisung keine Parameter enthält, werden im Editor keine Objekte aufgelistet.&lt;br /&gt;
&lt;br /&gt;
{{Note| Beim Parameter-Editor handelt es sich um denselben Editor, der auch für andere Eigenschaften der Sammlung angezeigt wird. Da dieser Editor auch von anderen Eigenschaften verwendet wird, sind im lokalen Menü die Befehle &#039;&#039;Hinzufügen&#039;&#039; und &#039;&#039;Löschen&#039;&#039; enthalten. Für Abfrageparameter stehen sie jedoch nicht zur Verfügung. Parameter können nur über die SQL-Anweisung selbst hinzugefügt oder gelöscht werden.}}&lt;br /&gt;
&lt;br /&gt;
Markieren Sie die einzelnen Parameter im Parameter-Editor. Im &#039;&#039;&#039;Objektinspektor&#039;&#039;&#039; bearbeiten sie ihre Eigenschaften:&lt;br /&gt;
&lt;br /&gt;
Für die Eigenschaft &#039;&#039;Params&#039;&#039; (Objekte vom Typ &#039;&#039;TParam&#039;&#039;) lassen sich folgende Einstellungen anzeigen bzw. ändern:&lt;br /&gt;
&lt;br /&gt;
 Die Eigenschaft [[lib_de:Data.DB.TParam.DataType|DataType]] gibt den Datentyp für den Parameterwert an. Bei einigen Datenmengen ist dieser Wert unter Umständen nicht korrekt initialisiert. Wenn die Datenmenge den Typ nicht ableiten konnte, wird für &#039;&#039;DataType&#039;&#039; der Wert &#039;&#039;ftUnknown&#039;&#039; verwendet, und Sie müssen diesen auf den korrekten Datentyp für den Parameterwert ändern.&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaft &#039;&#039;DataType&#039;&#039; gibt den logischen Datentyp für den Parameter an. In der Regel entsprechen diese Datentypen denen, die für den Datenbank-Server definiert sind. Näheres zur speziellen Zuordnung von logischen Datentypen zu Server-Datentypen finden Sie in der Dokumentation zum Datenzugriffsmechanismus (BDE, dbExpress, InterBase).&lt;br /&gt;
&lt;br /&gt;
 Die Eigenschaft [[lib_de:Data.DB.TParam.ParamType|ParamType]] gibt den Typ des gewählten Parameters an. Bei Abfragen ist dies immer &#039;&#039;ptInput&#039;&#039;, weil Abfragen nur Eingabeparameter enthalten können. Lautet für &#039;&#039;ParamType&#039;&#039; der Wert &#039;&#039;ptUnknown&#039;&#039;, so ändern Sie ihn in &#039;&#039;ptInput&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaft [[lib_de:Data.DB.TParam.Value|Value]] gibt den Wert für den gewählten Parameter an. Sie brauchen hier keine Angabe machen, wenn die Anwendung die Parameterwerte zur Laufzeit zur Verfügung stellt.&lt;br /&gt;
&lt;br /&gt;
Für die Eigenschaft &#039;&#039;Parameters&#039;&#039; (Objekte vom Typ &#039;&#039;TParameter&#039;&#039;) können Sie folgende Einstellungen anzeigen bzw. ändern:&lt;br /&gt;
&lt;br /&gt;
 Die Eigenschaft [[lib_de:Data.Win.ADODB.TParameter.DataType|DataType]] gibt den Datentyp für den Parameterwert an. Bei einigen Datenmengen müssen Sie weitere Angaben machen:&lt;br /&gt;
&lt;br /&gt;
* Über die Eigenschaft [[lib_de:Data.Win.ADODB.TParameter.NumericScale|NumericScale]] wird die Anzahl der Dezimalstellen für numerische Parameter angegeben.&lt;br /&gt;
* Über die Eigenschaft [[lib_de:Data.Win.ADODB.TParameter.Precision|Precision]] wird die Gesamtzahl der Stellen für numerische Parameter angegeben.&lt;br /&gt;
* Über die Eigenschaft [[lib_de:Data.Win.ADODB.TParameter.Size|Size]] wird die Anzahl der Zeichen in String-Parametern angegeben.&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaft [[lib_de:Data.Win.ADODB.TParameter.Direction|Direction]] gibt den Typ des gewählten Parameters an. Bei Abfragen ist dies immer &#039;&#039;pdInput&#039;&#039;, weil Abfragen nur Eingabeparameter enthalten können.&lt;br /&gt;
&lt;br /&gt;
Über die Eigenschaft [[lib_de:Data.Win.ADODB.TParameter.Attributes|Attributes]] wird gesteuert, welche Wertetypen der Parameter akzeptiert. Für &#039;&#039;Attributes&#039;&#039; kann eine Kombination von &#039;&#039;psSigned&#039;&#039;, &#039;&#039;psNullable&#039;&#039; und &#039;&#039;psLong&#039;&#039; angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaft [[lib_de:Data.Win.ADODB.TParameter.Value|Value]] gibt den Wert für den gewählten Parameter an. Sie brauchen hier keine Angabe machen, wenn die Anwendung die Parameterwerte zur Laufzeit zur Verfügung stellt.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Parameter zur Laufzeit setzen]]&lt;br /&gt;
* [[Haupt-Detailbeziehungen über Parameter definieren]]&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:Supplying Parameters at Design Time]]&lt;br /&gt;
[[fr:Fourniture des paramètres pendant la conception]]&lt;br /&gt;
[[ja:設計時でのパラメータ値の指定]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Auswerten/%C3%84ndern&amp;diff=215114</id>
		<title>Auswerten/Ändern</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Auswerten/%C3%84ndern&amp;diff=215114"/>
		<updated>2021-02-04T03:04:04Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menü &amp;quot;Start&amp;quot;|Menü &amp;quot;Start&amp;quot;}}&lt;br /&gt;
{{DISPLAYTITLE:Auswerten/Ändern}}&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;hcDEvalModify&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;hcMRunEvalModify&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; Auswerten/Ändern&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;code&amp;gt;Strg+F7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wertet den Wert eines vorhandenen Ausdrucks oder einer vorhandenen Eigenschaft aus oder ändert ihn. Dies ist nützlich, wenn Sie eine Quelltextkorrektur testen, ohne den Debugger zu beenden, den Quelltext ändern und das Programm erneut compilieren möchten. Die ersten Spalte der folgenden Tabelle enthält die im Dialogfeld &#039;&#039;&#039;Auswerten/Ändern&#039;&#039;&#039; angezeigten Schaltflächen.&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;
! &#039;&#039;&#039;Element&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[Image:Evaluate.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Auswerten&lt;br /&gt;
| &lt;br /&gt;
Wertet den Ausdruck im Eingabefeld &#039;&#039;&#039;Ausdruck&#039;&#039;&#039; aus und zeigt den Wert im Eingabefeld &#039;&#039;&#039;Ergebnis&#039;&#039;&#039; an.&lt;br /&gt;
&lt;br /&gt;
* Wenn Sie eine C++-Anwendung für 64-Bit-Windows debuggen, müssen Sie dem Registernamen ein Dollarzeichen ($) voranstellen, damit der Inhalt eines Registers ausgewertet wird. Zum Beispiel:  &amp;lt;code&amp;gt;$rax&amp;lt;/code&amp;gt;&lt;br /&gt;
* Auf anderen Plattformen ist das Zeichen &amp;quot;$&amp;quot; in Registernamen nicht zulässig.&lt;br /&gt;
* Weitere Informationen über CPU-Register finden Sie unter [[Assembler-Ausdrücke]].&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[Image:Modify.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Ändern&lt;br /&gt;
| &lt;br /&gt;
Ändert den Wert des Ausdrucks im Eingabefeld &#039;&#039;&#039;Ausdruck&#039;&#039;&#039; anhand des Werts im Eingabefeld &#039;&#039;&#039;Neuer Wert&#039;&#039;&#039;.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[Image:Watch.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Überwachen&lt;br /&gt;
| &lt;br /&gt;
Erzeugt einen überwachten Ausdruck für den ausgewählten Ausdruck.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[Image:Inspect.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Untersuchen&lt;br /&gt;
| &lt;br /&gt;
Öffnet für das markierte Datenelement ein neues &#039;&#039;&#039;Debug-Inspektor&#039;&#039;&#039;-Fenster. Dies ist hilfreich bei der Überprüfung der Einzelheiten von Datenstrukturen, Klassen und Arrays.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[Image:VisualizersButtonLocVar.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Visualisierung&lt;br /&gt;
| &lt;br /&gt;
Wird nur angezeigt, wenn für den Ausdruckstyp eine externe Visualisierung verfügbar ist. Klicken Sie auf den Abwärtspfeil der Schaltfläche, und wählen Sie eine Visualisierung aus. Daraufhin wird ein neues Fenster mit den Daten der Visualisierung geöffnet.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[Image:Help.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Hilfe&lt;br /&gt;
| &lt;br /&gt;
Zeigt dieses Hilfethema an.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
Ausdruck&lt;br /&gt;
| &lt;br /&gt;
Geben Sie die Variable, das Feld, das Array oder das Objekt ein, das ausgewertet oder geändert werden soll. Standardmäßig wird das Wort an der Cursorposition im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; in das Eingabefeld &#039;&#039;&#039;Ausdruck&#039;&#039;&#039; übernommen. Sie können diesen Ausdruck übernehmen, einen anderen eingeben oder einen Ausdruck in der Liste der bereits ausgewerteten Ausdrücke auswählen. Zum Auswerten einer Funktion geben Sie den Funktionsnamen, Klammern und Argumente genauso ein, wie Sie sie in Ihr Programm eingeben würden; lassen Sie aber das Anweisungsende-Semikolon (;) weg.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
Ergebnis&lt;br /&gt;
| &lt;br /&gt;
Zeigt den Wert des im Textfeld &#039;&#039;&#039;Ausdruck&#039;&#039;&#039; angegebenen Elements nach Auswahl von &#039;&#039;&#039;Auswerten&#039;&#039;&#039; oder &#039;&#039;&#039;Ändern&#039;&#039;&#039; an.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
Neuer Wert&lt;br /&gt;
| &lt;br /&gt;
Weist dem im Eingabefeld &#039;&#039;&#039;Ausdruck&#039;&#039;&#039; angegebenen Element einen neuen Wert zu. Geben Sie einen neuen Wert für das Element ein, wenn Sie dessen Wert ändern möchten.&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note| Sie können jeden gültigen Ausdruck oder statische Variablen auswerten, die sich aktuell nicht im Gültigkeitsbereich der Anwendung befinden.}}&lt;br /&gt;
&lt;br /&gt;
==Formatbezeichner für die Anzeige==&lt;br /&gt;
&lt;br /&gt;
Standardmäßig zeigt der Debugger das Ergebnis in dem Format an, das dem Datentyp des Ausdrucks entspricht. Beispielsweise werden Integerwerte im Dezimalformat angezeigt. Um das Anzeigeformat zu ändern, geben Sie ein Komma (,) und daran anschließend einen Formatbezeichner hinter dem Ausdruck ein.&lt;br /&gt;
&lt;br /&gt;
In der folgenden Tabelle sind die Formatbezeichner für &amp;quot;Auswerten/Ändern&amp;quot; beschrieben:&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;
! &#039;&#039;&#039;Bezeichner&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Betroffene Typen&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
,C&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Char, Strings&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Zeichen.&lt;br /&gt;
&lt;br /&gt;
Zeigt für {{Delphi}} die Zeichen für die ASCII-Werte 0 bis 31 in der #nn-Notation der {{Delphi}}-Sprache an.&lt;br /&gt;
|- &lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
,S&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Char, Strings&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
Zeigt für {{Delphi}} die Zeichen für die ASCII-Werte 0 bis 31 in der #nn-Notation der {{Delphi}}-Sprache an.&lt;br /&gt;
|- &lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
,D&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Integer&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Dezimal. Zeigt Integerwerte als Dezimalzahlen an. Gilt auch für Integerwerte in Datenstrukturen.&lt;br /&gt;
|- &lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
,H oder ,X&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Integer&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Hexadezimal. Zeigt Integerwerte hexadezimal mit dem Präfix $ an, einschließlich derer in Datenstrukturen.&lt;br /&gt;
|- &lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
,Fn&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Gleitkomma&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Gleitkomma.&lt;br /&gt;
&lt;br /&gt;
Wird nur von {{Delphi}} unterstützt. Zeigt &#039;&#039;n&#039;&#039; signifikante Ziffern an. &#039;&#039;n&#039;&#039; kann 2 bis 18 sein. Um beispielsweise die ersten vier Ziffern eines Gleitkommawertes anzuzeigen, geben Sie ,F4 ein. Ist &#039;&#039;n&#039;&#039; nicht angegeben, wird als Standardwert 11 verwendet.&lt;br /&gt;
|- &lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
,R&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Record&lt;br /&gt;
|  align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Record/Struktur.&lt;br /&gt;
&lt;br /&gt;
Zeigt für {{Delphi}} Feldnamen und -werte wie (X:1;Y:10;Z:5) anstelle von (1,10,5) an.&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Werte von Datenelementen untersuchen und ändern]]&lt;br /&gt;
* [[Variablenausdrücke bearbeiten]]&lt;br /&gt;
* [[Debugger-Visualisierungen]]&lt;br /&gt;
* [[Assembler-Ausdrücke]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Auswerten/Andern}}&lt;br /&gt;
[[Category:{{Product}} – Referenz]]&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:Evaluate/Modify]]&lt;br /&gt;
[[fr:Evaluer/Modifier]]&lt;br /&gt;
[[ja:［評価/変更］]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Benachrichtigung_%C3%BCber_Debugger-Exception&amp;diff=215113</id>
		<title>Benachrichtigung über Debugger-Exception</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Benachrichtigung_%C3%BCber_Debugger-Exception&amp;diff=215113"/>
		<updated>2021-02-04T01:52:37Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Tip|}} and the {{Note|}} templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menü &amp;quot;Start&amp;quot;}}&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;hcDExceptionRaised&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;Dieses Dialogfeld wird angezeigt, wenn das Programm, das Sie gerade testen, eine Sprach- oder Betriebssystem-Exception auslöst und Sie für den Debugger auf den Seiten &#039;&#039;&#039;Sprach-Exceptions&#039;&#039;&#039; und &#039;&#039;&#039;Native BS-Exceptions&#039;&#039;&#039; des Dialogfeldes &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Tools &amp;amp;gt; Optionen &amp;amp;gt; Debugger-Optionen&#039;&#039;&#039;&amp;lt;/font&amp;gt; Exceptions-Behandlungsoptionen festgelegt haben.&lt;br /&gt;
&lt;br /&gt;
Das Format der Benachrichtigung ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#004a80&amp;quot;&amp;gt;Im Projekt &amp;amp;lt;Projektname&amp;amp;gt; ist eine Exception der Klasse &amp;amp;lt;yyyy&amp;amp;gt; aufgetreten. Meldung: &amp;amp;lt;Meldungstext&amp;amp;gt;.&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn die Zeichen &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#004a80&amp;quot;&amp;gt;yyyy&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt; in der Meldung einen Klassennamen darstellen, handelt es sich bei der Exception um eine Sprach-Exception. Wenn &amp;lt;font face=&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#004a80&amp;quot;&amp;gt;yyyy&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt; ein hexadezimaler Wert ist, handelt es sich um eine Betriebssystem-Exception.&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;
! &#039;&#039;&#039;Element&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Diesen Exception-Typ ignorieren&lt;br /&gt;
|&lt;br /&gt;
Veranlasst den Debugger, diesen Sprach-Exception- oder BS-Exception-Typ zu ignorieren und markiert das zugehörige Kontrollkästchen in der Liste &#039;&#039;&#039;Folgende Exception-Typen ignorieren&#039;&#039;&#039; auf der Seite &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Tools &amp;amp;gt; Optionen &amp;amp;gt; Debugger-Optionen &amp;amp;gt; Sprach-Exceptions&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Wenn BS-Exceptions ignoriert werden sollen, wird die Option &#039;&#039;&#039;Behandelt von&#039;&#039;&#039; auf der Seite &#039;&#039;&#039;Native BS-Exceptions&#039;&#039;&#039; für alle Exception-Bereiche auf &#039;&#039;&#039;Debugger&#039;&#039;&#039; gesetzt, in die die ausgelöste Exception fällt.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
CPU-Ansicht anzeigen&lt;br /&gt;
|&lt;br /&gt;
Diese Option wird nur angezeigt, wenn die Position der Exception keiner Position im Quelltext entspricht. Zeigt das &#039;&#039;&#039;CPU-Fenster&#039;&#039;&#039; an, wenn Sie auf &#039;&#039;&#039;Anhalten&#039;&#039;&#039; klicken, um die Ausführung zu stoppen.&lt;br /&gt;
&lt;br /&gt;
Wenn das Kontrollkästchen &#039;&#039;&#039;CPU-Ansicht anzeigen&#039;&#039;&#039; eingeblendet ist und Sie es nicht markiert haben, durchsucht die IDE den Aufruf-Stack nach einem Aufruf in dem Stack, der Quellcode enthält und zeigt den ersten gefundenen Aufruf an.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie auf &#039;&#039;&#039;Fortsetzen&#039;&#039;&#039; klicken, hat diese Option keine Auswirkungen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Anhalten&lt;br /&gt;
|&lt;br /&gt;
Hält die Programmausführung an der Position an, an der die Exception auftrat und blendet die Codezeile im &#039;&#039;&#039;Quelltext-Editor&#039;&#039;&#039; ein.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Fortsetzen&lt;br /&gt;
|&lt;br /&gt;
Setzt die Programmausführung fort.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Tip|  Um diese oder ähnliche Meldungen in die Zwischenablage zu kopieren, drücken Sie &amp;lt;font face&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;font color&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;#999999&amp;quot;&amp;gt;STRG+C&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|  In manchen Fällen verhindert der Programmstatus die weitere Ausführung und das Dialogfeld &#039;&#039;&#039;Benachrichtigung über Debugger-Exception&#039;&#039;&#039; wird wiederholt angezeigt. In diesem Fall müssen Sie &#039;&#039;&#039;Anhalten&#039;&#039;&#039; anklicken und dann &amp;lt;font color&amp;lt;nowiki&amp;gt; = &amp;lt;/nowiki&amp;gt;&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; Programm zurücksetzen&#039;&#039;&#039;&amp;lt;/font&amp;gt; wählen, um die aktuelle Programmausführung zu beenden und den Arbeitsspeicher freizugeben.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:{{Product}} – Referenz]]&lt;br /&gt;
[[Kategorie:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Benachrichtigung uber Debugger-Exception}}&lt;br /&gt;
&lt;br /&gt;
[[en:Debugger Exception Notification]]&lt;br /&gt;
[[fr:Notification des exceptions du débogueur]]&lt;br /&gt;
[[ja:デバッガ例外通知]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Prozess_laden:_Lokal&amp;diff=215112</id>
		<title>Prozess laden: Lokal</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Prozess_laden:_Lokal&amp;diff=215112"/>
		<updated>2021-02-03T02:28:13Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menü &amp;quot;Start&amp;quot;|Menü Start}}&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;hcDDebuggerLoadLocalPage&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Start &amp;amp;gt; Prozess laden &amp;amp;gt; Lokal&#039;&#039;&#039; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Übergibt Befehlszeilenparameter an die Anwendung, legt eine Host-Anwendung zum Testen einer DLL fest oder lädt eine ausführbare Datei in einen ausgewählten Debugger.&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;Element&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Debugger&lt;br /&gt;
|&lt;br /&gt;
Wählen Sie den Debugger aus, den Sie verwenden möchten:&lt;br /&gt;
* &#039;&#039;&#039;{{Company}} Win32-Debugger&#039;&#039;&#039; ist der integrierte Standard-Debugger für 32-Bit-Windows-Anwendungen. &lt;br /&gt;
* &#039;&#039;&#039;{{Company}} Win64-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf 64-Bit-Windows ausgeführt werden.&lt;br /&gt;
*&#039;&#039;&#039;{{Company}} OS X-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf einem Mac mit OS X oder dem iOS-Simulator ausgeführt werden.&lt;br /&gt;
{{Note| [[Prozess laden: Lokal|Prozess laden: Lokal]] wird nicht für den &#039;&#039;&#039;{{Company}} OS X-Debugger&#039;&#039;&#039; unterstützt.}}&lt;br /&gt;
*&#039;&#039;&#039;{{Company}} iOS32-Geräte-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf 32-Bit- und 64-Bit-iOS-Geräte ausgeführt werden.&lt;br /&gt;
{{Note| [[Prozess laden: Lokal|Prozess laden: Lokal]] wird nicht für den &#039;&#039;&#039;{{Company}} iOS32-Geräte-Debugger&#039;&#039;&#039; unterstützt.}}&lt;br /&gt;
*&#039;&#039;&#039;{{Company}} iOS64-Geräte-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf 64-Bit-iOS-Geräte ausgeführt werden.&lt;br /&gt;
{{Note| [[Prozess laden: Lokal|Prozess laden: Lokal]] wird nicht für den &#039;&#039;&#039;{{Company}} iOS64-Geräte-Debugger&#039;&#039;&#039; unterstützt.}}&lt;br /&gt;
* &#039;&#039;&#039;{{Company}} Android-Debugger&#039;&#039;&#039;  ist speziell für das Debuggen von Anwendungen ausgelegt, die auf Android-Geräten fausgeführt werden.  &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Prozess&lt;br /&gt;
|&lt;br /&gt;
Geben Sie den vollständigen Pfadnamen einschließlich des Namens der ausführbaren Datei (&amp;lt;code&amp;gt;.EXE&amp;lt;/code&amp;gt;) an, die im Debugger ausgeführt werden soll. Klicken Sie dann auf &#039;&#039;&#039;Laden&#039;&#039;&#039;, um die betreffende Datei zu laden. Die Ausführung dieser Datei wird am Eintrittspunkt angehalten. Wenn dort keine Debug-Informationen zur Verfügung stehen, wird das Fenster &#039;&#039;&#039;CPU&#039;&#039;&#039; geöffnet. Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Start &amp;amp;gt; Start&#039;&#039;&#039; &amp;lt;/font&amp;gt;, um die ausführbare Datei auszuführen. Klicken Sie auf &#039;&#039;&#039;Durchsuchen&#039;&#039;&#039;, um nach einem Verzeichnis und nach einer ausführbaren Datei zu suchen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Parameter&lt;br /&gt;
|&lt;br /&gt;
Geben Sie hier die Befehlszeilenargumente ein, die beim Starten an Ihre Anwendung übergeben werden sollen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Arbeitsverzeichnis&lt;br /&gt;
|&lt;br /&gt;
Geben Sie hier das Debug-Verzeichnis an. Standardmäßig wird das Verzeichnis mit der ausführbaren Datei der Anwendung verwendet.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Quellpfad&lt;br /&gt;
|&lt;br /&gt;
Gibt den Pfad zu den Quelldateien für das Erstellen der ausführbaren Datei an.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Nach dem Laden&lt;br /&gt;
|&lt;br /&gt;
Gibt den Code (sofern vorhanden) an, der nach dem Laden des Prozesses ausgeführt werden soll. Folgende Optionen stehen zur Auswahl:&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;
|&lt;br /&gt;
&#039;&#039;&#039;Nicht ausführen&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
Entspricht dem Starten der Debug-Sitzung mit dem Befehl &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt;  [[Einzelne Anweisung|Einzelne Anweisung]]&#039;&#039;&#039; &amp;lt;/font&amp;gt; (F7). &lt;br /&gt;
|&lt;br /&gt;
Lädt die ausführbare Datei, führt sie aber nicht aus.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Bis zu Programmeintrittspunkt ausführen&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
Entspricht dem Starten der Debug-Sitzung mit dem Befehl &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt;  [[Gesamte Routine|Gesamte Routine]]&#039;&#039;&#039; &amp;lt;/font&amp;gt; (F8).&lt;br /&gt;
|&lt;br /&gt;
Nur für C++; führt den Prozess bis zum ersten Eintrittspunkt, wie z. B. main(), aus.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Bis zu erstem Quelltext ausführen&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
Entspricht dem Starten der Debug-Sitzung mit dem Befehl &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt;  [[Nächste Quelltextzeile|Nächste Quelltextzeile]]&#039;&#039;&#039; &amp;lt;/font&amp;gt; (Umsch+F7).&lt;br /&gt;
|&lt;br /&gt;
Führt den Prozess bis zur ersten Quelltextzeile aus.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;Ausführen&#039;&#039;&#039; &lt;br /&gt;
|&lt;br /&gt;
Entspricht dem Starten der Debug-Sitzung mit dem Befehl &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt;  [[Start|Start]]&#039;&#039;&#039; &amp;lt;/font&amp;gt; (F9).&lt;br /&gt;
|&lt;br /&gt;
Führt den Prozess vollständig im Debugger aus.&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Prozess laden|Prozess laden]]&lt;br /&gt;
* [[Prozess laden: Extern|Prozess laden: Extern]]&lt;br /&gt;
* [[Prozess laden: Symboltabellen|Prozess laden: Symboltabellen]]&lt;br /&gt;
* [[Prozess laden: Umgebungsblock|Prozess laden: Umgebungsblock]]&lt;br /&gt;
* [[Mit Prozess verbinden|Mit Prozess verbinden]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RAD Studio – Referenz]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Load Process Local]]&lt;br /&gt;
[[fr:Charger un processus Local]]&lt;br /&gt;
[[ja:［プロセスの読み込み｜ローカル］]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Prozess_laden&amp;diff=215111</id>
		<title>Prozess laden</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Prozess_laden&amp;diff=215111"/>
		<updated>2021-02-03T01:47:36Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Tip|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menü &amp;quot;Start&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; Prozess laden&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Öffnet das Dialogfeld &#039;&#039;&#039;Prozess laden&#039;&#039;&#039;, das das Laden eines beliebigen Prozesses in einen ausgewählten Debugger ermöglicht, wie z.B. der Win64 Debugger, der OS X Debugger oder der Win32 Debugger.&lt;br /&gt;
&lt;br /&gt;
Folgende Operationen stehen Ihnen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* [[Prozess laden: Lokal|Prozess laden: Lokal]]&lt;br /&gt;
* [[Prozess laden: Extern|Prozess laden: Extern]]&lt;br /&gt;
* [[Prozess laden: Symboltabellen|Prozess laden: Symboltabellen]]&lt;br /&gt;
* [[Prozess laden: Umgebungsblock|Prozess laden: Umgebungsblock]]&lt;br /&gt;
&lt;br /&gt;
{{Tip|Im Dialogfeld &#039;&#039;&#039;Prozess laden&#039;&#039;&#039; können Sie durch Drücken der Taste &amp;lt;code&amp;gt;F1&amp;lt;/code&amp;gt; auf einem Element in der Liste die Hilfeseite des beliebigen Elements anzeigen.}}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Mit Prozess verbinden|Mit Prozess verbinden]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RAD Studio – Referenz]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Load Process]]&lt;br /&gt;
[[fr:Charger un processus]]&lt;br /&gt;
[[ja:［プロセスの読み込み］]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Prozess_laden:_Umgebungsblock&amp;diff=215110</id>
		<title>Prozess laden: Umgebungsblock</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Prozess_laden:_Umgebungsblock&amp;diff=215110"/>
		<updated>2021-02-03T01:38:18Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menü &amp;quot;Start&amp;quot;|Menü Start}}&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;hcDDebuggerLoadEnvVarPage&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt; &#039;&#039;&#039;Start &amp;amp;gt; Prozess laden &amp;amp;gt; Umgebungsblock&#039;&#039;&#039; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gibt an, welche Umgebungsvariablen während des Debuggens an die Anwendung übergeben werden.&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;Element&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Debugger&lt;br /&gt;
|&lt;br /&gt;
Wählen Sie den Debugger aus, den Sie verwenden möchten: &lt;br /&gt;
* &#039;&#039;&#039;{{Company}} Win32-Debugger&#039;&#039;&#039; ist der integrierte Standard-Debugger für 32-Bit-Windows-Anwendungen. &lt;br /&gt;
* &#039;&#039;&#039;{{Company}} Win64-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf 64-Bit-Windows ausgeführt werden.&lt;br /&gt;
* &#039;&#039;&#039;{{Company}} OS X-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf einem Mac mit OS X oder dem iOS-Simulator ausgeführt werden.&lt;br /&gt;
* &#039;&#039;&#039;{{Company}} iOS32-Geräte-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf 32-Bit- und 64-Bit-iOS-Geräten ausgeführt werden. &lt;br /&gt;
*&#039;&#039;&#039;{{Company}} iOS64-Geräte-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf 64-Bit-iOS-Geräten ausgeführt werden.&lt;br /&gt;
{{Note| &#039;&#039;&#039;Prozess laden: Umgebungsblock&#039;&#039;&#039; wird nicht für den &#039;&#039;&#039;{{Company}} iOS-Geräte-Debugger&#039;&#039;&#039; unterstützt.}}&lt;br /&gt;
*&#039;&#039;&#039;{{Company}} Android-Debugger&#039;&#039;&#039; ist speziell für das Debuggen von Anwendungen ausgelegt, die auf dem Android-Gerät ausgeführt werden.  &lt;br /&gt;
{{Note| &#039;&#039;&#039;Prozess laden: Umgebungsblock&#039;&#039;&#039; wird nicht für den &#039;&#039;&#039;{{Company}} Android-Debugger&#039;&#039;&#039; unterstützt.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Systemvariablen&lt;br /&gt;
|&lt;br /&gt;
Zeigt eine Liste aller Umgebungsvariablen und ihrer Werte an, die auf Systemebene definiert sind. Eine Systemvariable kann nicht gelöscht, aber überschrieben werden.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Überschreiben&lt;br /&gt;
|&lt;br /&gt;
Öffnet das Dialogfeld &#039;&#039;&#039;Systemvariable überschreiben&#039;&#039;&#039;, in dem eine Systemvariable geändert werden kann, um neue vom Anwender überschriebene Variablen zu erstellen. Diese Schaltfläche ist deaktiviert (abgedunkelt) und wird erst aktiviert, wenn Sie eine Variable in der Liste &#039;&#039;&#039;Systemvariablen&#039;&#039;&#039; auswählen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Vom Anwender überschrieben&lt;br /&gt;
|&lt;br /&gt;
Zeigt alle Anwendervariablen mit den zugehörigen Werten an. Anwendervariablen haben Vorrang vor Systemvariablen und verlieren ihre Gültigkeit erst, wenn sie gelöscht werden.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Neu&lt;br /&gt;
|&lt;br /&gt;
Öffnet das Dialogfeld &#039;&#039;&#039;Neue Anwendervariable&#039;&#039;&#039;, in dem Sie eine neue Anwendervariable aus einer Systemvariable erstellen können.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Bearbeiten&lt;br /&gt;
|&lt;br /&gt;
Öffnet das Dialogfeld &#039;&#039;&#039;Anwendervariable bearbeiten&#039;&#039;&#039;, in dem Sie die Anwendervariable ändern können, die in der Liste &#039;&#039;&#039;Vom Anwender überschrieben&#039;&#039;&#039; ausgewählt ist.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Löschen&lt;br /&gt;
|&lt;br /&gt;
Löscht die Anwendervariable, die in der Liste &#039;&#039;&#039;Vom Anwender überschrieben&#039;&#039;&#039; ausgewählt ist.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Mit Systemvariablen&lt;br /&gt;
|&lt;br /&gt;
Übergibt die Systemumgebungsvariablen an die Anwendung, für die das Debugging ausgeführt wird. Wenn diese Option deaktiviert ist, werden nur die vom Anwender überschriebenen Variablen an die Anwendung übergeben.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Prozess laden: Lokal|Prozess laden: Lokal]]&lt;br /&gt;
* [[Prozess laden: Extern|Prozess laden: Extern]]&lt;br /&gt;
* [[Prozess laden: Symboltabellen|Prozess laden: Symboltabellen]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RAD Studio – Referenz]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Load Process Environment Block]]&lt;br /&gt;
[[fr:Charger un processus Bloc d&#039;environnement]]&lt;br /&gt;
[[ja:［プロセスの読み込み｜環境ブロック］]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=ActiveX-Server_registrieren/entfernen&amp;diff=215109</id>
		<title>ActiveX-Server registrieren/entfernen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=ActiveX-Server_registrieren/entfernen&amp;diff=215109"/>
		<updated>2021-02-03T01:27:06Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Warning|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menü &amp;quot;Start&amp;quot;}}&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;hcmRunRegisterActiveXServer&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; ActiveX-Server &amp;amp;gt; Registrieren&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; ActiveX-Server &amp;amp;gt; Für aktuellen Benutzer registrieren&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; ActiveX-Server &amp;amp;gt; Registrierung aufheben&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Befehle führen Folgendes aus:&lt;br /&gt;
* &#039;&#039;&#039;Registrierung&#039;&#039;&#039; des ActiveX-Servers in der Windows-Registrierung:&lt;br /&gt;
** &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Registrieren&amp;lt;/font&amp;gt;&#039;&#039;&#039; registriert einen ActiveX-Server (bei HKEY_CLASSES_ROOT, für alle Benutzer).&lt;br /&gt;
** &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Für aktuellen Benutzer registrieren&amp;lt;/font&amp;gt;&#039;&#039;&#039; registriert einen ActiveX-Server (bei HKEY_CURRENT_USER, für einen Benutzer).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Deregistrierung&#039;&#039;&#039; eines ActiveX-Servers aus der Registrierung.&lt;br /&gt;
*: Der Befehl &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Registrierung aufheben&amp;lt;/font&amp;gt;&#039;&#039;&#039; führt Folgendes aus:&lt;br /&gt;
** Deregistrierung aus HKEY_CLASSES_ROOT (für Objekte, die für alle Benutzer registriert sind)&lt;br /&gt;
** Deregistrierung aus HKEY_CURRENT_USER (für Objekte, die für einen Benutzer registriert sind)&lt;br /&gt;
&lt;br /&gt;
{{Warning| Jedes Mal, wenn Sie den Befehl &#039;&#039;&#039;Registrieren&#039;&#039;&#039; oder &#039;&#039;&#039;Für aktuellen Benutzer registrieren&#039;&#039;&#039; aufrufen, wird für den ActiveX-Server ein Eintrag in die Registrierung eingefügt. Der Registrierungseintrag bleibt &amp;quot;verwaist&amp;quot; zurück, wenn Sie anschließend die Anwendung abbrechen und keine der folgenden Aktionen ausführen:&lt;br /&gt;
&lt;br /&gt;
* Den Server, den Sie registriert haben, speichern (ohne den Server ist es später schwierig, den Registrierungseintrag zu löschen).&lt;br /&gt;
* Den Befehl &#039;&#039;&#039;Registrierung aufheben&#039;&#039;&#039; für den Server aufrufen.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[In-Process-Server, Out-of-Process-Server und Remote-Server]]&lt;br /&gt;
* [[Active-Server-Seiten erstellen - Index]]&lt;br /&gt;
* [[Ein Active-Server-Objekt registrieren]]&lt;br /&gt;
* [[COM-Objekte registrieren]]&lt;br /&gt;
* [[Registrierung des aktuellen Benutzers für ActiveX-Server]]&lt;br /&gt;
&lt;br /&gt;
[[Category:{{Product}} – Referenz]]&lt;br /&gt;
&lt;br /&gt;
[[en:Register/Unregister ActiveX Server]]&lt;br /&gt;
[[fr:Recenser/Dérecenser le serveur ActiveX]]&lt;br /&gt;
[[ja:ActiveX サーバーの登録/登録解除]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Inkrementelle_Suche&amp;diff=215108</id>
		<title>Inkrementelle Suche</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Inkrementelle_Suche&amp;diff=215108"/>
		<updated>2021-02-03T00:27:15Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menü &amp;quot;Suchen&amp;quot;}}&lt;br /&gt;
&amp;lt;ideTag id=&amp;quot;hcMSearchIncrementalSearch&amp;quot;&amp;gt;&amp;lt;/ideTag&amp;gt;&lt;br /&gt;
{{menu |Suchen &amp;amp;gt; Inkrementelle Suche}}&amp;lt;code&amp;gt;Strg+E&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ermöglicht eine interaktive Textsuche. Beginnen Sie sofort nach dem Aufruf der Option &#039;&#039;&#039;Inkrementelle Suche&#039;&#039;&#039; mit der Eingabe des Such-Strings. Während Ihrer Eingabe wird die erste Übereinstimmung im Editor hervorgehoben, und alle anderen Übereinstimmungen werden in der zweiten Farbe markiert.&lt;br /&gt;
&lt;br /&gt;
{{Note| Das erste Übereinstimmungsergebnis ist das erste gefundene Ergebnis nach der Cursorposition.}}&lt;br /&gt;
&lt;br /&gt;
In der Statuszeile am unteren Rand des Editorfensters wird ein Suchfeld mit dem gesuchten Text eingeblendet:&lt;br /&gt;
&lt;br /&gt;
[[image:IncrementalSearch2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Um eine neue Suche zu beginnen, drücken Sie &amp;lt;code&amp;gt;RÜCK&amp;lt;/code&amp;gt;, um die Statuszeile zu löschen, oder wählen erneut {{menu | Suchen &amp;amp;gt;Inkrementelle Suche}}.&lt;br /&gt;
&lt;br /&gt;
Um die [[Suchbefehl | Symbolleiste &amp;quot;Suchen&amp;quot;]] zu aktivieren, klicken Sie auf der Symbolleiste &#039;&#039;&#039;Inkrementelle Suche&#039;&#039;&#039; auf das Textfeld.&lt;br /&gt;
&lt;br /&gt;
Bei aktivierter Suchen-Symbolleiste können Sie eine Suche nach oben oder ab dem Dateianfang starten, ohne mit der Maus auf die Schaltflächen &amp;quot;Nach oben suchen&amp;quot; oder &amp;quot;Ab Dateianfang suchen&amp;quot; zu klicken:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;EINGABE&amp;lt;/code&amp;gt;, um nach unten zu suchen.&lt;br /&gt;
* &amp;lt;code&amp;gt;UMSCHALT+EINGABE&amp;lt;/code&amp;gt;, um nach oben zu suchen.&lt;br /&gt;
* &amp;lt;code&amp;gt;STRG+EINGABE&amp;lt;/code&amp;gt;, um die Suche ab dem Dateianfang zu beginnen.&lt;br /&gt;
&lt;br /&gt;
So suchen Sie direkt im [[Quelltext-Editor]]:&lt;br /&gt;
&lt;br /&gt;
# Nachdem Sie Ihre Suchkriterien in der Symbolleiste eingegeben und die Eingabetaste gedrückt haben, wechselt der Fokus in den Quelltext-Editor.&lt;br /&gt;
# Alle Übereinstimmungen werden markiert angezeigt.&lt;br /&gt;
# Mit den folgenden Tastenkürzeln können Sie im Quelltext-Editor durch die String-Übereinstimmungen ohne Verwendung der Symbolleiste navigieren:&lt;br /&gt;
#* &amp;lt;code&amp;gt;F3 / STRG+L &amp;lt;/code&amp;gt;, um nach unten zu suchen.&lt;br /&gt;
#* &amp;lt;code&amp;gt;UMSCHALT+F3&amp;lt;/code&amp;gt;, um nach oben zu suchen.&lt;br /&gt;
&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;
! &#039;&#039;&#039;Element&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
&amp;amp;lt;Textfeld&amp;amp;gt;&lt;br /&gt;
| &lt;br /&gt;
Zeigt während der Eingabe den Such-String an.  Sie können auch auf den nach unten weisenden Pfeil [[File:DownArrowFind.png]] rechts neben dem Eingabefeld klicken, um einen früher eingegebenen Such-String auszuwählen.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[File:SearchUp.png]] Pfeil nach oben&lt;br /&gt;
| &lt;br /&gt;
Sucht von der aktuellen Position aus zum Dateianfang.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[File:SearchDown.png]] Pfeil nach unten&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
Sucht von der aktuellen Position aus zum Dateiende. Dies ist die Vorgabeeinstellung.&lt;br /&gt;
|-  valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
[[File:RestartFromBeginning.png]] Suche vom Anfang wiederholen&lt;br /&gt;
| &lt;br /&gt;
Beginnt die Suche vom Dateianfang abwärts.&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Suchen]]&lt;br /&gt;
&lt;br /&gt;
[[Category:{{Product}} – Referenz]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Incremental Search]]&lt;br /&gt;
[[fr:Recherche incrémentielle]]&lt;br /&gt;
[[ja:［インクリメンタル サーチ］]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Eigenschaften_Darstellung_%C3%BCberwachter_Ausdr%C3%BCcke&amp;diff=215107</id>
		<title>Eigenschaften Darstellung überwachter Ausdrücke</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Eigenschaften_Darstellung_%C3%BCberwachter_Ausdr%C3%BCcke&amp;diff=215107"/>
		<updated>2021-02-02T23:50:45Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Tip|}} and the {{Note|}} templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Menü &amp;quot;Start&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; Ausdruck hinzufügen&#039;&#039;&#039;&amp;lt;/font&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;code&amp;gt;Strg+F5&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fügt einen überwachten Ausdruck hinzu oder ändert die Eigenschaften eines überwachten Ausdrucks. Der überwachte Ausdruck wird in der Liste der überwachten Ausdrücke angezeigt.&lt;br /&gt;
&lt;br /&gt;
{{Note| Die im Dialogfeld &#039;&#039;&#039;Darstellung überwachter Ausdrücke&#039;&#039;&#039; aufgeführten Formatbezeichner hängen von denjenigen ab, die vom aktuellen Evaluator unterstützt werden. Nicht alle unten aufgeführten Formatbezeichner stehen für jeden Evaluator zur Verfügung. In den meisten Fällen wird der Evaluator von der Personality angegeben.&lt;br /&gt;
}}&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;Element&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Ausdruck&lt;br /&gt;
|&lt;br /&gt;
Gibt den zu überwachenden Ausdruck an. Geben Sie den Ausdruck ein, den Sie überwachen möchten oder bearbeiten Sie ihn. Aus der Dropdown-Liste können Sie einen bereits festgelegten Ausdruck auswählen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Gruppenname&lt;br /&gt;
|&lt;br /&gt;
Gibt die Gruppe an, in die der überwachte Ausdruck aufgenommen werden soll. Wenn Sie eine neue Gruppe festlegen, wird die neue Gruppe hinzugefügt, und der überwachte Ausdruck in die neue Gruppe verschoben. Aus der Dropdown-Liste können Sie einen Namen einer bereits vorhandenen Gruppen auswählen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Wdh-Zähler&lt;br /&gt;
|&lt;br /&gt;
Gibt den Wiederholungszähler an, wenn es sich bei dem überwachten Ausdruck um ein Datenelement handelt oder gibt die Anzahl von Elementen in einem Array an, wenn es sich um ein Array handelt. Wenn Sie ein Array überwachen, und die Anzahl der Elemente als Wiederholungs-Zähler angeben, zeigt die &#039;&#039;&#039;Liste überwachter Ausdrücke&#039;&#039;&#039; den Wert jedes einzelnen Elements des Arrays an.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Ziffern&lt;br /&gt;
|&lt;br /&gt;
Gibt die Anzahl signifikanter Ziffern in einem überwachten Wert an, bei dem es sich um einen Gleitkommaausdruck handelt. Geben Sie die Anzahl der Ziffern ein. Diese Option wirkt sich nur aus, wenn Sie als Anzeigeformat &#039;&#039;&#039;Gleitkomma&#039;&#039;&#039; auswählen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Aktiviert&lt;br /&gt;
|&lt;br /&gt;
Aktiviert oder deaktiviert den überwachten Ausdruck. Das Deaktivieren eines überwachten Ausdrucks verbirgt den überwachten Ausdruck vor dem aktuellen Programmlauf. Wenn Sie einen überwachten Ausdruck deaktivieren, bleiben seine Einstellungen definiert, der Debugger wertet den überwachten Ausdruck jedoch nicht aus. Das Deaktivieren überwachter Ausdrücke erhöht die Ausführungsgeschwindigkeit des Debuggers, da er den überwachten Ausdruck nicht prüft, während Sie das Programm in Einzelschritten oder gesamt ausführen. Wenn Sie einen überwachten Ausdruck festlegen, ist er per Vorgabe aktiviert.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Seiteneffekte und Funktionsaufrufe zulassen&lt;br /&gt;
|&lt;br /&gt;
Wertet den überwachten Ausdruck aus, auch wenn dadurch Funktionen aufgerufen werden. Diese Option ist per Voreinstellung für alle überwachten Ausdrücke deaktiviert. In dieser Einstellung werden Ausdrücke, die Funktionsaufrufe durchführen würden, nicht ausgewertet. Stattdessen wird die Meldung &amp;quot;Nicht verfügbarer Wert&amp;quot; generiert. Siehe auch [[E2382 Seiteneffekte nicht zulässig (C++)|E2382 Seiteneffekte nicht zulässig (C++)]]. &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Zeichen&lt;br /&gt;
|&lt;br /&gt;
Zeigt spezielle Zeichen für die ASCII-Werte 0 bis 31 an (dargestellt als #$0, #$1F usw.). Dieser Formattyp betrifft Zeichen und Strings.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
String&lt;br /&gt;
|&lt;br /&gt;
Zeigt die ASCII-Werte 0 bis 31 in der #nn-Notation von Pascal (#$0 usw.) an. Dieser Formattyp betrifft Zeichen und Strings.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Dezimal&lt;br /&gt;
|&lt;br /&gt;
Zeigt Integerwerte als Dezimalzahlen an. Gilt auch für Integerwerte in Datenstrukturen. Dieser Formattyp betrifft Integerwerte.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Hexadezimal&lt;br /&gt;
|&lt;br /&gt;
Integerwerte werden als Hexadezimalwerte mit dem Präfix 0x (für C++, C#) oder $ (für {{Delphi}}) angezeigt. Gilt auch für Integerwerte in Datenstrukturen. Dieser Formattyp betrifft Integerwerte.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Gleitkomma&lt;br /&gt;
|&lt;br /&gt;
Zeigt Integerwerte in der Gleitkommaschreibweise an (Ganzzahlen oder Zahlen mit Bruchteilen).&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Zeiger&lt;br /&gt;
|&lt;br /&gt;
Nur für Win32-Anwendungen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Record/Struktur&lt;br /&gt;
|&lt;br /&gt;
Zeigt Feldnamen und -werte wie (X:1;Y:10;Z:5) anstelle von (1,10,5) an.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Vorgabe&lt;br /&gt;
|&lt;br /&gt;
Zeigt das Ergebnis in dem Anzeigeformat an, das dem Datentyp des Ausdrucks entspricht. Dieses Format betrifft alle Typen.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Speicherauszug&lt;br /&gt;
|&lt;br /&gt;
Nur für Win32-Anwendungen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Tip| Per Vorgabe zeigt der Debugger das Ergebnis eines überwachten Ausdrucks in dem Format an, das dem Datentyp des Ausdrucks entspricht. Beispielsweise werden Integerwerte in der dezimalen Form angezeigt. Wenn Sie allerdings &#039;&#039;&#039;Hexadezimal&#039;&#039;&#039; für einen Integerausdruck auswählen, wechselt das Anzeigeformat von &amp;quot;Dezimal&amp;quot; zu &amp;quot;Hexadezimal&amp;quot;. Wenn Sie für ein Element in einer Datenstruktur (wie z.B. ein Array) einen überwachten Ausdruck festlegen, können Sie die Werte der nachfolgenden Datenelemente anzeigen. Angenommen Sie haben ein Array namens xarray mit fünf Integerwerten. Geben Sie die Zahl 5 in das Feld &#039;&#039;&#039;Wdh.-Zähler&#039;&#039;&#039; ein, um alle fünf Werte des Arrays anzuzeigen. Damit ein Wiederholungszähler verwendet werden kann, muss der überwachte Ausdruck jedoch ein einzelnes Datenelement repräsentieren. Den Wert eines überwachten Ausdrucks ändern Sie im Dialogfeld &#039;&#039;&#039;Auswerten/Ändern&#039;&#039;&#039;.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip| Zum Formatieren eines Gleitkomma-Wertes wählen Sie &#039;&#039;&#039;Gleitkomma&#039;&#039;&#039; und geben dann in das Feld &#039;&#039;&#039;Ziffern&#039;&#039;&#039; die Anzahl der signifikanten Nachkommastellen an, die in der &#039;&#039;&#039;Liste überwachter Ausdrücke&#039;&#039;&#039; angezeigt werden sollen. }}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Fenster Liste überwachter Ausdrücke|Fenster Liste überwachter Ausdrücke]]&lt;br /&gt;
* [[Ausdruck hinzufügen|Ausdruck hinzufügen]]&lt;br /&gt;
* [[Überblick zum Debuggen|Überblick zum Debuggen]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Eigenschaften Darstellung uberwachter Ausdrucke}}&lt;br /&gt;
[[Category:RAD Studio – Referenz]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Watch Properties]]&lt;br /&gt;
[[fr:Propriétés du point de suivi]]&lt;br /&gt;
[[ja:［監視式のプロパティ］]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Ein_Active-Server-Objekt_registrieren&amp;diff=215106</id>
		<title>Ein Active-Server-Objekt registrieren</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Ein_Active-Server-Objekt_registrieren&amp;diff=215106"/>
		<updated>2021-01-29T03:07:00Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Active-Server-Seiten erstellen - Index}}&lt;br /&gt;
&lt;br /&gt;
Sie können die Active-Server-Seite als [[In-Process-Server, Out-of-Process-Server und Remote-Server|In-Process- oder Out-of-Process-Server]] registrieren. Normalerweise werden In-Process-Server verwendet. Ein &#039;&#039;&#039;In-Process-Automatisierungsserver&#039;&#039;&#039; besteht aus einer Reihe von COM-Automatisierungsobjekten für die Verbindung zu Datenbanken, für die Ausführung von SQL-Anweisungen und PL/SQL-Blöcken sowie für den Zugriff auf die Ergebnisse. In-Process-Automatisierungsobjekte befinden sich in .DLL-Dateien; &#039;&#039;&#039;Out-of-Process-Automatisierungsserver&#039;&#039;&#039; sind Anwendungen (.EXE-Dateien).&lt;br /&gt;
&lt;br /&gt;
{{Note| Bei der Registrierung eines Active Server-Seitenobjekts wird der Windows-Systemregistrierung ein Eintrag hinzugefügt. Objekten zugeordnete Registrierungseinträge können nur mithilfe von Code im korrekt zugeordneten Objekt deregistriert werden. Wenn Objekte nicht mehr vorhanden sind, können sie auch nicht für die Deregistrierung verwendet werden.  Daher kann die Registrierung mit &amp;quot;verwaisten&amp;quot; Registrierungen angefüllt sein.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Eine &#039;&#039;&#039;Deregistrierung&#039;&#039;&#039; ist für die folgenden Fälle wichtig:&lt;br /&gt;
** Vor dem Entfernen eines ASP-Objekts aus dem System sollten Sie die Registrierung des Objekts aufheben.&lt;br /&gt;
** Wenn Sie ein ASP-Objekt während der Anwendungsentwicklung registrieren, später aber entscheiden, die Anwendung nicht zu speichern, sollten Sie das ASP-Objekt immer vor dem Verwerfen der Anwendung deregistrieren.  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Einen In-Process-Server registrieren==&lt;br /&gt;
&lt;br /&gt;
Zum Registrieren eines In-Process-Servers (DLL oder OCX) wählen Sie einen der beiden folgenden Befehle:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; ActiveX-Server &amp;amp;gt; Registrieren&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; ActiveX-Server &amp;amp;gt; Für aktuellen Benutzer registrieren&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um die Registrierung eines In-Process-Servers aufzuheben, wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; ActiveX-Server &amp;amp;gt; Registrierung aufheben&#039;&#039;&#039;&amp;lt;/font&amp;gt;. Damit wird die Registrierung aller Server, auch derjenigen, die pro Benutzer registriert waren, aufgehoben.&lt;br /&gt;
&lt;br /&gt;
{{Note| Als 32-Bit-Prozess kann die IDE keine &#039;&#039;&#039;64-Bit-In-Process-/DLL-Server&#039;&#039;&#039; registrieren (32-Bit-Prozesse können keine 64-Bit-DLLs laden). Verwenden Sie zum Registrieren von 64-Bit-In-Process-Servern die 64-Bit-Version von [[TRegSvr.exe: Das Hilfsprogramm für die Typbibliotheksregistrierung|TRegSvr.exe]]. Der Pfad lautet $(BDS)\bin64\TRegSvr.exe.}}&lt;br /&gt;
&lt;br /&gt;
==Einen Out-of-Process-Server registrieren==&lt;br /&gt;
&lt;br /&gt;
Zur Registrierung eines Out-of-Process-Servers starten Sie den Server mit der Befehlszeilenoption &amp;lt;code&amp;gt;/regserver&amp;lt;/code&amp;gt;. (Die Befehlszeilenparameter können Sie im Dialogfeld &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; Parameter&#039;&#039;&#039;&amp;lt;/font&amp;gt; festlegen.)&lt;br /&gt;
&lt;br /&gt;
Um die Registrierung eines Out-of-Process-Servers aufzuheben, starten Sie den Server mit der Befehlszeilenoption &amp;lt;code&amp;gt;/unregserver&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[COM-Objekte registrieren|COM-Objekte registrieren]]&lt;br /&gt;
* [[Registrierung des aktuellen Benutzers für ActiveX-Server|Registrierung des aktuellen Benutzers für ActiveX-Server]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:Registering an Active Server Object]]&lt;br /&gt;
[[fr:Recensement d&#039;un objet Active Server]]&lt;br /&gt;
[[ja:Active Server オブジェクトの登録]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Definieren_von_Verbindungen_(FireDAC)&amp;diff=215105</id>
		<title>Definieren von Verbindungen (FireDAC)</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Definieren_von_Verbindungen_(FireDAC)&amp;diff=215105"/>
		<updated>2021-01-19T03:24:01Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Arbeiten mit Verbindungen (FireDAC)}}&lt;br /&gt;
&lt;br /&gt;
Beschreibt, wie FireDAC-Verbindungsparameter gespeichert und verwendet werden, sowie die Bedeutung von Verbindungsdefinitionen. Zum Festlegen von Verbindungsparametern muss eine Anwendung eine Verbindungsdefinition verwenden. Die Verbindungsdefinition besteht aus einer Reihe von Parametern. Eine Verbindung kann auch in einen &#039;&#039;&#039;Pool gestellt&#039;&#039;&#039; werden.&lt;br /&gt;
&lt;br /&gt;
==Allgemeine Informationen==&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;Verbindungsdefinition&#039;&#039;&#039; besteht aus einem Satz von Parametern, die definieren, wie eine Anwendung mit einem DBMS über einen bestimmten FireDAC-Treiber verbunden wird. {{f|bde|Sie entspricht einem BDE-Alias, ADO-UDL (gespeicherter OLEDB-Verbindungsstring) oder ODBC-Datenquellennamen (DSN).|Sie entspricht einem ADO UDL (gespeicherter OLEDB-Verbindungsstring) oder ODBC-Datenquellennamen (DSN).}} Die Liste mit den unterstützten Datenbankmanagementsystemen und zugehörigen Parametern finden Sie unter [[Datenbankkonnektivität (FireDAC)|FireDAC-Datenbankkonnektivität]]. &lt;br /&gt;
&lt;br /&gt;
FireDAC unterstützt 3 Arten von Verbindungsdefinitionen: &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;Typ&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Vorteile&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Nachteile&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | &#039;&#039;&#039;Persistent &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Hat einen eindeutigen Namen, wird vom FDManager verwaltet und in einer Verbindungsdefinitionsdatei gespeichert.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Kann einmal definiert und für viele Anwendungen verwendet werden. Kann in einen Pool gestellt werden.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Die Parameter (Serveradresse, DB-Name usw.) sind öffentlich sichtbar und können versehentlich geändert werden.&lt;br /&gt;
&lt;br /&gt;
FDManager muss erneut aktiviert oder die {{Delphi}}-IDE neu gestartet werden, damit eine neu hinzugefügte Definition zur Entwurfszelt sichtbar ist. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | &#039;&#039;&#039;Privat &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Hat einen eindeutigen Namen, wird vom FDManager verwaltet, wird aber NICHT in einer Verbindungsdefinitionsdatei gespeichert.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Verbindungsdefinitionsparameter sind &amp;quot;außerhalb&amp;quot; der Anwendung nicht sichtbar. Kann in einen Pool gestellt werden.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Die Anwendung muss nach dem Programmneustart eine Verbindungsdefinition erstellen und kann diese nicht mit anderen Programmen gemeinsam nutzen.&lt;br /&gt;
&lt;br /&gt;
Kann nicht zur Entwurfszeit erstellt werden. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | &#039;&#039;&#039;Temporär &#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Hat keinen Namen, wird nicht in einer Verbindungsdefinitionsdatei gespeichert und wird nicht vom FDManager verwaltet.&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Am einfachsten erstellen Sie eine Verbindungsdefinition durch Festlegen der Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDConnection.Params|TFDConnection.Params]].&lt;br /&gt;
&lt;br /&gt;
Kann zur Entwurfszeit mit dem TFDConnection-Komponenteneditor erstellt werden. &lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; | Wie bei privat. Kann außerdem nicht über den Namen referenziert werden und kann nicht in einen Pool gestellt werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Verbindungsdefinitionsdatei==&lt;br /&gt;
&lt;br /&gt;
Die persistenten Verbindungsdefinitionen werden in einer externen Datei, der &#039;&#039;&#039;Verbindungsdefinitionsdatei&#039;&#039;&#039;, gespeichert. Diese Datei hat das Format einer Standard-INI-Textdatei. Sie kann zunächst mit den Hilfsprogrammen [[FDExplorer|FDExplorer]] oder [[FDAdministrator|FDAdministrator]] manuell oder über Code bearbeitet werden. Standardmäßig heißt die Datei {{Path|{{PublicFireDACPath}}\FDConnectionDefs.ini}}. &lt;br /&gt;
&lt;br /&gt;
{{Note| Wenn Sie mit dem FDExplorer oder FDAdministrator eine neue persistente Verbindungsdefinition hinzufügen, während die {{Product}}-IDE ausgeführt wird, ist die Verbindungsdefinition für den FireDAC-Entwurfszeitcode nicht sichtbar. Um die persistente Verbindungsdefinitionsliste zu aktualisieren, müssen Sie FDManager erneut aktivieren oder die {{Product}}-IDE neu starten.}}&lt;br /&gt;
&lt;br /&gt;
Einfacher Inhalt dieser Datei: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Oracle_Demo]&lt;br /&gt;
DriverID=Ora&lt;br /&gt;
Database=ORA_920_APP&lt;br /&gt;
User_Name=ADDemo&lt;br /&gt;
Password=a&lt;br /&gt;
MetaDefSchema=ADDemo&lt;br /&gt;
;MonitorBy=Remote&lt;br /&gt;
&lt;br /&gt;
[MSSQL_Demo]&lt;br /&gt;
DriverID=MSSQL&lt;br /&gt;
Server=127.0.0.1&lt;br /&gt;
Database=Northwind&lt;br /&gt;
User_Name=sa&lt;br /&gt;
Password=&lt;br /&gt;
MetaDefSchema=dbo&lt;br /&gt;
MetaDefCatalog=Northwind&lt;br /&gt;
MonitorBy=Remote&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In einer Anwendung kann in der Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDCustomManager.ConnectionDefFileName|FDManager.ConnectionDefFileName]] ein Name für eine Verbindungsdefinitionsdatei festgelegt werden. FireDAC sucht nach einer Verbindungsdefinitionsdatei an den folgenden Orten:&lt;br /&gt;
&lt;br /&gt;
* Wenn ConnectionDefFileName angegeben ist:&lt;br /&gt;
** Suche nach einem Dateinamen ohne Pfad, dann Suche in einem Anwendungs-EXE-Ordner.&lt;br /&gt;
** Ansonsten Verwendung des angegebenen Dateinamens.&lt;br /&gt;
* Wenn ConnectionDefFileName nicht angegeben ist:&lt;br /&gt;
** Suche nach &#039;&#039;&#039;FDConnectionDefs.ini&#039;&#039;&#039; in einem Anwendungs-EXE-Ordner.&lt;br /&gt;
** Wenn die Datei dort nicht gefunden wird, Suche nach einer im Registrierungsschlüssel &#039;&#039;&#039;HKCU\Software\{{Company}}\FireDAC\ConnectionDefFile&#039;&#039;&#039; angegebenen Datei. Standardmäßig heißt die Datei {{Path|{{PublicFireDACPath}}\FDConnectionDefs.ini}}.&lt;br /&gt;
&lt;br /&gt;
{{Note| Zur Entwurfszeit ignoriert FireDAC den Wert von [[lib_de:FireDAC.Comp.Client.TFDManager.ConnectionDefFileName|FDManager.ConnectionDefFileName]] und sucht nach einer Datei in einem &amp;quot;Bin&amp;quot;-Ordner von {{Product}} oder in einem in der Registrierung angegebenen Ordner. Wird die Datei nicht gefunden, wird eine Exception ausgelöst.}}&lt;br /&gt;
&lt;br /&gt;
Wenn [[lib_de:FireDAC.Comp.Client.TFDCustomManager.ConnectionDefFileAutoLoad|FDManager.ConnectionDefFileAutoLoad]] &#039;&#039;&#039;True&#039;&#039;&#039; ist, wird automatisch eine Verbindungsdefinitionsdatei geladen. Ansonsten muss sie durch Aufruf der Methode [[lib_de:FireDAC.Comp.Client.TFDCustomManager.LoadConnectionDefFile|FDManager.LoadConnectionDefFile]] vor der ersten Verwendung der Verbindungsdefinitionen geladen werden. Zum Beispiel vor dem Setzen von TFDConnection.Connected auf &#039;&#039;&#039;True&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Erstellen einer persistenten Verbindungsdefinition==&lt;br /&gt;
&lt;br /&gt;
Eine persistente Verbindungsdefinition kann mit [[FDExplorer|FDExplorer]] oder [[FDAdministrator|FDAdministrator]] erstellt werden. Im Folgenden wird gezeigt, wie Sie dies im Code durchführen. Siehe auch die Demo [[samp_en:FireDAC.ConnectionDefs Sample|Connection Definitions]]. &lt;br /&gt;
&lt;br /&gt;
Das folgende Codefragment erstellt eine Verbindungsdefinition mit Namen &amp;quot;MSSQL_Connection&amp;quot;, die alle Parameter enthält, die zum Herstellen einer Verbindung zum lokal ausgeführten Microsoft SQL Server mit der Betriebssystemauthentifizierung (SSPI) erforderlich sind: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
 FireDAC.Comp.Client, FireDAC.Stan.Def, FireDAC.Stan.Intf,&lt;br /&gt;
 // Required uses for creating a persistent connection with MSSQL (to fdconnectiondefs.ini)&lt;br /&gt;
 FireDAC.Phys.MSSQL,&lt;br /&gt;
 FireDAC.Phys.MSSQLDef;&lt;br /&gt;
&lt;br /&gt;
const&lt;br /&gt;
 cNameConnDef = &#039;MSSQL_Connection&#039;;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.PersistentConnectionClick(Sender: TObject);&lt;br /&gt;
 var&lt;br /&gt;
  oDef: IFDStanConnectionDef;&lt;br /&gt;
  oParams: TFDPhysMSSQLConnectionDefParams; // MSSQL connection params&lt;br /&gt;
 begin&lt;br /&gt;
  // Adding new persistent connection to fdconnectiondefs.ini&lt;br /&gt;
  FDManager.ConnectionDefs.AddConnectionDef;&lt;br /&gt;
  oDef := FDManager.ConnectionDefs.AddConnectionDef;&lt;br /&gt;
  oDef.Name := cNameConnDef;&lt;br /&gt;
  oParams := TFDPhysMSSQLConnectionDefParams(oDef.Params);&lt;br /&gt;
  oParams.DriverID := &#039;MSSQL&#039;&lt;br /&gt;
  oParams.Database := &#039;Northwind&#039;;&lt;br /&gt;
  oParams.UserName := &#039;.............&#039;;&lt;br /&gt;
  oParams.Password := &#039;.............&#039;;&lt;br /&gt;
  oParams.Server := &#039;127.0.0.1&#039;;&lt;br /&gt;
  oParams.OSAuthent := false;&lt;br /&gt;
  oParams.MARS := false;&lt;br /&gt;
  oDef.MarkPersistent;&lt;br /&gt;
  oDef.Apply;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.ConnectionClick(Sender: TObject);&lt;br /&gt;
  FDConnection1.ConnectionDefName := cNameConnDef;&lt;br /&gt;
  FDConnection1.Connected := True;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FDManager ist eine globale Instanz des FireDAC-Verbindungsmanagers. Die Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDCustomManager.ConnectionDefs|FDManager.ConnectionDefs]]: IFDStanConnectionDefs ist eine Sammlung von persistenten und privaten Verbindungsdefinitionen. Die Methode &#039;&#039;&#039;AddConnectionDef&#039;&#039;&#039; fügt eine neue Verbindungsdefinition hinzu. Die Methode &#039;&#039;&#039;MarkPersistent&#039;&#039;&#039; kennzeichnet eine Verbindungsdefinition als persistent. Die Methode &#039;&#039;&#039;Apply&#039;&#039;&#039; speichert eine Verbindungsdefinition in einer Verbindungsdefinitionsdatei. Ohne den Aufruf von MarkPersistent wäre die Verbindungsdefinition privat.&lt;br /&gt;
&lt;br /&gt;
==Erstellen einer privaten Verbindungsdefinition==&lt;br /&gt;
&lt;br /&gt;
Eine private Verbindungsdefinition kann nur im Code erstellt werden. Der Code entspricht dem obigen, aber ohne den Aufruf von MarkPersistent. &lt;br /&gt;
&lt;br /&gt;
{{f|bde|Sie können auch ein ähnliches Verfahren wie für die BDE verwenden:|Sie können auch das folgende alternative Verfahren verwenden:}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
var&lt;br /&gt;
  oParams: TStrings;&lt;br /&gt;
begin&lt;br /&gt;
  oParams := TStringList.Create;&lt;br /&gt;
  oParams.Add(&#039;Server=127.0.0.1&#039;);&lt;br /&gt;
  oParams.Add(&#039;Database=Northwind&#039;);&lt;br /&gt;
  oParams.Add(&#039;OSAuthent=Yes&#039;);&lt;br /&gt;
  FDManager.AddConnectionDef(&#039;MSSQL_Connection&#039;, &#039;MSSQL&#039;, oParams);&lt;br /&gt;
  .....................&lt;br /&gt;
  FDConnection1.ConnectionDefName := &#039;MSSQL_Connection&#039;;&lt;br /&gt;
  FDConnection1.Connected := True;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erstellen einer temporären Verbindungsdefinition==&lt;br /&gt;
&lt;br /&gt;
===Zur Entwurfszeit===&lt;br /&gt;
&lt;br /&gt;
Eine temporäre Verbindungsdefinition kann zur Entwurfszeit mit dem FireDAC-Verbindungseditor erstellt werden. Doppelklicken Sie dazu auf eine TFDConnection-Komponente, um den Editor aufzurufen: &lt;br /&gt;
&lt;br /&gt;
[[Image:Defining.png|450px]]&lt;br /&gt;
&lt;br /&gt;
Oder klicken Sie im &#039;&#039;Design&#039;&#039;-Modus auf das [[lib_de:FireDAC.Comp.Client.TFDConnection|TFDConnection]]-Symbol, und wählen Sie im &#039;&#039;&#039;Objektinspektor&#039;&#039;&#039; aus der Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDConnection.DriverName|DriverName]] einen Treiber aus. Erweitern Sie danach die Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDConnection.Params|Params]], und legen Sie die erforderlichen Eigenschaften fest. Als letzten Schritt setzen Sie die Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDConnection.Connected|Connected]] auf &#039;&#039;&#039;True&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
===Zur Laufzeit===&lt;br /&gt;
&lt;br /&gt;
Füllen Sie die Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDConnection.Params|TFDConnection.Params]] aus, um im Code eine temporäre Verbindung zur Laufzeit zu erstellen. Das ist der einfachste und bequemste Weg, eine Verbindungsdefinition zu erstellen. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
FDConnection1.DriverName := &#039;MSSQL&#039;;&lt;br /&gt;
FDConnection1.Params.Add(&#039;Server=127.0.0.1&#039;);&lt;br /&gt;
FDConnection1.Params.Add(&#039;Database=Northwind&#039;);&lt;br /&gt;
FDConnection1.Params.Add(&#039;User_name=sa&#039;);&lt;br /&gt;
FDConnection1.Connected := True;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit zum Erstellen einer temporären Verbindungsdefinition zur Laufzeit ist, den Typ der Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDConnection.Params|TFDConnection.Params]] in eine DBMS-spezifische Klasse umzuwandeln. Dies ist der sicherste Weg für das Erstellen einer Verbindungsdefinition, weil mit Code Insight der IDE und mit der Syntaxprüfung des Compilers die Richtigkeit überprüft werden kann.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
uses&lt;br /&gt;
  FireDAC.Phys.IBDef, FireDAC.Phys.IBWrapper;&lt;br /&gt;
......&lt;br /&gt;
FDConnection1.DriverName := &#039;IB&#039;;&lt;br /&gt;
with FDConnection1.Params as TFDPhysIBConnectionDefParams do begin&lt;br /&gt;
  Protocol := ipTCPIP;&lt;br /&gt;
  Server := &#039;127.0.0.1&#039;;&lt;br /&gt;
  Database := &#039;c:\IB\employee.gdb&#039;;&lt;br /&gt;
  UserName := &#039;sysdba&#039;;&lt;br /&gt;
  Password := &#039;masterkey&#039;;&lt;br /&gt;
end;&lt;br /&gt;
FDConnection1.Connected := True;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit besteht darin, zur Laufzeit einen Verbindungsstring in der Eigenschaft [[lib_de:FireDAC.Comp.Client.TFDCustomConnection.ConnectionString|TFDConnection.ConnectionString]] anzugeben. Ein Verbindungsstring kann für bestimmte Anwendungstypen eine praktische Möglichkeit zum Festlegen von Verbindungsdefinitionsparametern darstellen. Zum Beispiel: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
FDConnection1.ConnectionString := &#039;DriverID=MSSQL;Server=127.0.0.1;Database=Northwind;User_name=sa&#039;;&lt;br /&gt;
FDConnection1.Connected := True;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bearbeiten einer Verbindungsdefinition==&lt;br /&gt;
&lt;br /&gt;
Für eine Anwendung kann es erforderlich sein, eine Verbindungsdefinition zur Laufzeit mit dem Standarddialogfeld &amp;quot;FireDAC-Verbindungseditor&amp;quot; zu erstellen und zu bearbeiten. Verwenden Sie den folgenden Code, um eine in TFDConnection gespeicherte Verbindungsdefinition zu bearbeiten: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
uses&lt;br /&gt;
  FireDAC.VCLUI.ConnEdit;&lt;br /&gt;
...&lt;br /&gt;
if TfrmFDGUIxFormsConnEdit.Execute(FDConnection1, &#039;&#039;) then&lt;br /&gt;
  FDConnection1.Connected := True;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie den folgenden Code, um eine als FireDAC-Verbindungsstring dargestellte Verbindungsdefinition zu bearbeiten: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
uses&lt;br /&gt;
  FireDAC.VCLUI.ConnEdit;&lt;br /&gt;
...&lt;br /&gt;
var&lt;br /&gt;
  sConnStr: String;&lt;br /&gt;
...&lt;br /&gt;
sConnStr := FDConnection1.ResultConnectionDef.BuildString();&lt;br /&gt;
if TfrmFDGUIxFormsConnEdit.Execute(sConnStr, &#039;&#039;) then begin&lt;br /&gt;
  FDConnection1.ResultConnectionDef.ParseString(sConnStr);&lt;br /&gt;
  FDConnection1.Connected := True;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[FDAdministrator|Das Hilfsprogramm FDAdministrator]]&lt;br /&gt;
* [[FDExplorer|Das Hilfsprogramm FDExplorer]]&lt;br /&gt;
* [[Datenbankkonnektivität (FireDAC)|FireDAC-Datenbankkonnektivität]]&lt;br /&gt;
* [[Multithreading (FireDAC)|Multithreading]]&lt;br /&gt;
* [[Pfadvariablen (FireDAC)|Pfadvariablen]]&lt;br /&gt;
&lt;br /&gt;
===Beispiele===&lt;br /&gt;
&lt;br /&gt;
* [[samp_en:FireDAC.ConnectionDefs Sample|FireDAC Connection Definitions]] (Beispiel)&lt;br /&gt;
* [[samp_en:FireDAC.IFDPhysConnection.CreateConnection Sample|FireDAC Create Connection]] (Beispiel)&lt;br /&gt;
* [[samp_en:FireDAC.InterBase Sample|FireDAC InterBase]] (Beispiel)&lt;br /&gt;
* [[samp_en:FireDAC.MSAccess Sample|FireDAC MS Access]] (Beispiel)&lt;br /&gt;
* [[samp_en:FireDAC.MSSQL Sample|FireDAC MS SQL]] (Beispiel)&lt;br /&gt;
* [[samp_en:FireDAC.MySQL Sample|FireDAC MySQL]] (Beispiel)&lt;br /&gt;
* [[samp_en:FireDAC.SQLite Sample|FireDAC SQLite]] (Beispiel)&lt;br /&gt;
&lt;br /&gt;
[[Category:FireDAC]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Defining Connection (FireDAC)]]&lt;br /&gt;
[[fr:Définition d&#039;une connexion (FireDAC)]]&lt;br /&gt;
[[ja:接続の定義（FireDAC）]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Kurzhinweise_w%C3%A4hrend_des_Debuggens_verwenden&amp;diff=215104</id>
		<title>Kurzhinweise während des Debuggens verwenden</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Kurzhinweise_w%C3%A4hrend_des_Debuggens_verwenden&amp;diff=215104"/>
		<updated>2021-01-14T03:56:05Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Tip|}} and the {{Note|}} templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|So verwenden Sie den Debugger}}&lt;br /&gt;
&lt;br /&gt;
Beim Debuggen einer Anwendung können Sie die Werte von Membern eines überwachten Objekts anzeigen, wenn es sich um ein komplexes Datenobjekt (wie eine Klasse, einen Record oder ein Array) handelt. Die Werte werden im Quelltext-Editor angezeigt, wenn Sie ein überwachtes Objekt erweitern. Außerdem haben Sie die Möglichkeit, die Elemente innerhalb eines Objekts zu erweitern und deren Unterelemente und Werte anzuzeigen. Sie können alle Objektebenen erweitern. Member werden nach Vorfahr gruppiert.&lt;br /&gt;
{{Note| Kurzhinweise werden von allen Embarcadero-Debuggern unterstützt.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So erweitern Sie Kurzhinweise während des Debuggens:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Erstellen Sie eine neue VCL für Win32-Anwendung, oder öffnen Sie eine vorhandene Anwendung.&lt;br /&gt;
# Wählen Sie {{menu|Projekt &amp;amp;gt; Optionen &amp;amp;gt; {{Delphi}}-Compiler &amp;gt; [[Compilieren]]}}, und vergewissern Sie sich, dass die Option &#039;&#039;&#039;Mit Debug-DCUs&#039;&#039;&#039; aktiviert ist.&lt;br /&gt;
# Wählen Sie {{menu|Tools &amp;amp;gt; Optionen &amp;amp;gt; Editor-Optionen &amp;amp;gt; [[Code Insight]]}} und stellen Sie sicher, dass die Option &#039;&#039;&#039;Auswertung durch Kurzhinweis&#039;&#039;&#039; aktiviert ist.&lt;br /&gt;
# Wählen Sie {{menu|Start &amp;amp;gt; Gesamte Routine}}.{{Tip|  Drücken Sie alternativ &amp;lt;code&amp;gt;&#039;&#039;&#039;F8&#039;&#039;&#039;&amp;lt;/code&amp;gt;.}} Die Seite &#039;&#039;&#039;Code&#039;&#039;&#039; der Hauptquelltextdatei für das Projekt wird geöffnet.&lt;br /&gt;
# Wählen Sie erneut {{menu|Start &amp;amp;gt; [[Gesamte Routine]]}}. Daraufhin wird das Projekt initialisiert.&lt;br /&gt;
# Zeigen Sie mit der Maus auf das Schlüsselwort &#039;&#039;&#039;Application&#039;&#039;&#039;. Der Kurzhinweis wird in einem einzelnen Block angezeigt.&lt;br /&gt;
# Klicken Sie auf das Pluszeichen (&#039;&#039;&#039;+&#039;&#039;&#039;) neben dem Schlüsselwort &#039;&#039;&#039;Application&#039;&#039;&#039; im Kurzhinweis.&lt;br /&gt;
#* Der Kurzhinweis wird zu einem bildlauffähigen Feld vergrößert, in dem alle untergeordneten Eigenschaften und ihre Werte enthalten sind. &lt;br /&gt;
#* Neben jeder Eigenschaft, die eine oder mehrere untergeordnete Eigenschaften besitzt, wird ein Pluszeichen (&#039;&#039;&#039;+&#039;&#039;&#039;) angezeigt. &lt;br /&gt;
#* Sie können jedes Element erweitern und seine Eigenschaften und Werte im Kurzhinweis in hierarchischer Form anzeigen.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Überblick zum Debuggen]]&lt;br /&gt;
* [[Code Insight]]&lt;br /&gt;
* [[Fenster Liste überwachter Ausdrücke]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Kurzhinweise wahrend des Debuggens verwenden}}&lt;br /&gt;
[[Category:Mit {{Product}} arbeiten]]&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Using Tooltips During Debugging]]&lt;br /&gt;
[[fr:Utilisation des conseils durant le débogage]]&lt;br /&gt;
[[ja:デバッグ中にツールチップを使用する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Nicht-skalare_Typen_registrieren&amp;diff=215103</id>
		<title>Nicht-skalare Typen registrieren</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Nicht-skalare_Typen_registrieren&amp;diff=215103"/>
		<updated>2021-01-09T04:39:42Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Nicht-skalare Typen in aufrufbaren Interfaces verwenden}}&lt;br /&gt;
&lt;br /&gt;
Eine aufrufbare Schnittstelle kann erst dann Typen verwenden, die nicht zu den integrierten skalaren Typen gehören, die unter [[Nicht-skalare Typen in aufrufbaren Interfaces verwenden|Nicht-skalare Typen in aufrufbaren Schnittstellen verwenden]] aufgeführt sind, nachdem diese Typen von der Anwendung in der Remotable-Typ-Registrierung registriert wurden. Um auf die Remotable-Typ-Registrierung zugreifen zu können, müssen Sie der &#039;&#039;&#039;uses&#039;&#039;&#039;-Klausel die Unit InvokeRegistry hinzufügen. Diese Unit deklariert eine globale Funktion namens &#039;&#039;RemTypeRegistry&#039;&#039;, die eine Referenz auf die Remotable-Typ-Registrierung zurückgibt.&lt;br /&gt;
&lt;br /&gt;
{{Note| Auf Clients wird der Code zum Registrieren von Typen in der Remotable-Typ-Registrierung automatisch generiert, sobald Sie ein WSDL-Dokument importieren. Auf Servern werden Remotable-Typen automatisch registriert, wenn Sie eine Schnittstelle registrieren, welche diese Typen verwendet. Das explizite Hinzufügen von Code zum Registrieren von Typen ist nur dann erforderlich, wenn Sie den Namespace oder Typennamen selbst angeben möchten, anstatt die automatisch generierten Werte zu verwenden.}}&lt;br /&gt;
&lt;br /&gt;
Die Remotable-Typ-Registrierung bietet zwei Methoden, die Ihnen zum Registrieren von Typen zur Verfügung stehen: [[lib_de:Soap.InvokeRegistry.TRemotableTypeRegistry.RegisterXSInfo|RegisterXSInfo]] und [[lib_de:Soap.InvokeRegistry.TRemotableTypeRegistry.RegisterXSClass|RegisterXSClass]]. Die erste (&#039;&#039;RegisterXSInfo&#039;&#039;) ermöglicht die Registrierung eines dynamischen Arrays oder einer anderen Typdefinition. Die zweite (&#039;&#039;RegisterXSClass&#039;&#039;) dient der Registrierung von Remotable-Klassen, die Sie zur Repräsentation anderer Typen definieren.&lt;br /&gt;
&lt;br /&gt;
Bei Verwendung von dynamischen Arrays oder Aufzählungstypen kann die Aufruf-Registrierung die erforderlichen Informationen den vom Compiler generierten Typinformationen entnehmen. Die Schnittstelle könnte daher beispielsweise einen Typ wie den folgenden verwenden:&lt;br /&gt;
&amp;lt;l s=&#039;delphi&#039;/&amp;gt;&lt;br /&gt;
 type&lt;br /&gt;
   TDateTimeArray = array of TXSDateTime;&lt;br /&gt;
&amp;lt;l e=&#039;delphi&#039;/&amp;gt;&lt;br /&gt;
&amp;lt;l s=&#039;cpp&#039;/&amp;gt; &lt;br /&gt;
 typedef DynamicArray&amp;lt;TXSDateTime&amp;gt; TDateTimeArray;&lt;br /&gt;
&amp;lt;l e=&#039;cpp&#039;/&amp;gt;&lt;br /&gt;
Dieser Typ wird automatisch registriert, sobald Sie die aufrufbare Schnittstelle registrieren. Wenn Sie jedoch den Namespace angeben möchten, in dem der Typ definiert ist, oder den Namen des Typs, müssen Sie Quelltext hinzufügen, um den Typ mit der Methode &#039;&#039;RegisterXSInfo&#039;&#039; der Remotable-Typ-Registrierung explizit zu registrieren.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung erfolgt im Initialisierungsabschnitt der Unit, in der Sie das dynamische Array deklarieren bzw. verwenden:&lt;br /&gt;
&amp;lt;l s=&#039;delphi&#039;/&amp;gt;&lt;br /&gt;
 RemTypeRegistry.RegisterXSInfo(TypeInfo(TDateTimeArray), MyNameSpace, &#039;DTarray&#039;, &#039;DTarray&#039;);&lt;br /&gt;
&amp;lt;l e=&#039;delphi&#039;/&amp;gt;&lt;br /&gt;
&amp;lt;l s=&#039;cpp&#039;/&amp;gt;&lt;br /&gt;
 void RegTypes()&lt;br /&gt;
 {&lt;br /&gt;
   RemTypeRegistry()-&amp;gt;RegisterXSInfo(__arraytypeinfo(TDateTimeArray),&lt;br /&gt;
         MyNameSpace, &amp;quot;DTarray&amp;quot;, &amp;quot;DTarray&amp;quot;);&lt;br /&gt;
   InvRegistry()-&amp;gt;RegisterInterface(__delphirtti(ITimeServices));&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;l e=&#039;cpp&#039;/&amp;gt;&lt;br /&gt;
Der erste Parameter von &#039;&#039;RegisterXSInfo&#039;&#039; bezieht sich auf die Typinformationen für den Typ, den Sie registrieren. Der zweite Parameter stellt den Namespace-URI für den Namespace dar, in dem der Typ definiert ist. Wenn Sie diesen Parameter weglassen oder einen leeren String angeben, wird ein Namespace von der Registrierung generiert. Der dritte Parameter ist der Name des Typs im programmeigenen Quelltext. Wenn Sie diesen Parameter weglassen oder einen leeren String angeben, extrahiert die Registrierung den Typnamen aus den Typinformationen, die Sie als ersten Parameter angegeben haben. Im letzten Parameter wird der Name des Typs so angegeben, wie er in WSDL-Dokumenten erscheint. Wenn Sie diesen Parameter weglassen oder einen leeren String angeben, zieht die Registrierung den programmeigenen Typnamen (also den dritten Parameter) heran.&lt;br /&gt;
&lt;br /&gt;
Das Vorgehen zum Registrieren einer [[Remotable-Objekte verwenden|Remotable-Klasse]] ist ähnlich, mit dem Unterschied, dass Sie anstelle eines Typinformationszeigers eine Klassenreferenz angeben. Die folgende Zeile stammt beispielsweise aus der Unit XSBuiltIns. Sie registriert &#039;&#039;TXSDateTime&#039;&#039;, einen Nachkommen von &#039;&#039;TRemotable&#039;&#039;, der Werte von &#039;&#039;TDateTime&#039;&#039; repräsentiert:&lt;br /&gt;
&amp;lt;l s=&#039;delphi&#039;/&amp;gt;&lt;br /&gt;
 RemClassRegistry.RegisterXSClass(TXSDateTime, XMLSchemaNameSpace, &#039;dateTime&#039;, &#039;&#039;,True);&lt;br /&gt;
&amp;lt;l e=&#039;delphi&#039;/&amp;gt;&lt;br /&gt;
&amp;lt;l s=&#039;cpp&#039;/&amp;gt;&lt;br /&gt;
 void RegTypes()&lt;br /&gt;
 {&lt;br /&gt;
   RemTypeRegistry()-&amp;gt;RegisterXSclass(__classid(TXSDateTime), XMLSchemaNameSpace, &amp;quot;dateTime&amp;quot;, &amp;quot;&amp;quot;, true);&lt;br /&gt;
   InvRegistry()-&amp;gt;RegisterInterface(__delphirtti(ITimeServices));&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;l e=&#039;cpp&#039;/&amp;gt;&lt;br /&gt;
Der erste Parameter stellt die Klassenreferenz für die Remotable-Klasse dar, die den Typ repräsentiert. Der zweite ist ein URI (Uniform Resource Identifier), durch den der Namespace der neuen Klasse eindeutig identifiziert wird. Wenn Sie einen leeren String angeben, wird von der Registrierung ein URI generiert. Der dritte und vierte Parameter geben den programmeigenen und den externen Namen des Datentyps an, den die Klasse repräsentiert. Wird der vierte Parameter weggelassen, zieht die Typregistrierung für beide Werte den dritten Parameter heran. Wenn Sie für beide Parameter einen leeren String angeben, verwendet die Registrierung den Klassennamen. Durch den fünften Parameter wird angegeben, ob der Wert der Klasseninstanzen als String übertragen werden kann. Wahlweise können Sie einen sechsten Parameter hinzufügen (nicht im obigen Beispiel enthalten), um festzulegen, wie mehrere Referenzen auf dieselbe Objektinstanz in SOAP-Paketen repräsentiert werden sollen.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Remotable-Objekte verwenden]]&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:Registering Nonscalar Types]]&lt;br /&gt;
[[fr:Recensement des types non scalaires]]&lt;br /&gt;
[[ja:非スカラー型の登録]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Nicht-skalare_Typen_in_aufrufbaren_Interfaces_verwenden&amp;diff=215100</id>
		<title>Nicht-skalare Typen in aufrufbaren Interfaces verwenden</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Nicht-skalare_Typen_in_aufrufbaren_Interfaces_verwenden&amp;diff=215100"/>
		<updated>2021-01-05T04:52:32Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Aufrufbare Interfaces im Überblick}}&lt;br /&gt;
&lt;br /&gt;
Die Web-Services-Architektur unterstützt die folgenden skalaren Typen für {{Delphi}} und C++:&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;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Boolean&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
ByteBool&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
WordBool&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
LongBool&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Char&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Byte&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
ShortInt&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
SmallInt&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Word&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Integer&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Cardinal&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
LongInt&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Int64&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Single&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Double&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Extended&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
string&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
WideString&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Currency&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
TDateTime&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
Variant&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden skalaren Typen werden für C++ unterstützt:&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;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
bool&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
unsigned short&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
_int64&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
char&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
int&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
AnsiString&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
signed char&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
unsigned&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
float&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
unsigned char&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
long&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
double&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
short&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
unsigned long&lt;br /&gt;
| style=&amp;quot;text-align: left; vertical-align: top;&amp;quot; |&lt;br /&gt;
long double&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für die Verwendung dieser skalaren Typen in einem aufrufbaren Interface ist kein besonderes Vorgehen erforderlich. Enthält das Interface jedoch Eigenschaften oder Methoden, in denen andere Typen zum Einsatz kommen, muss die Anwendung diese Typen in der [[Nicht-skalare Typen registrieren|Remotable-Typ-Registrierung]] registrieren.&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, dynamische Arrays in aufrufbaren Interfaces zu verwenden. In diesem Fall müssen die Arrays in der Remotable-Typ-Registrierung erfasst werden, was allerdings automatisch beim Registrieren des Interface erfolgt. Die Remotable-Typ-Registrierung extrahiert aus den vom Compiler generierten Typeninformationen alle erforderlichen Informationen.&lt;br /&gt;
&lt;br /&gt;
{{Note|Sie sollten vermeiden, mehrere dynamische Array-Typen mit demselben Elementtyp zu definieren. Da der Compiler diese Typen als transparente Typen behandelt, die implizit ineinander umgewandelt werden können, unterscheidet er nicht zwischen deren Laufzeit-Typeninformationen. Daher kann die Remotable-Typ-Registrierung diese Typen nicht unterscheiden. Für Server stellt dies kein Problem dar, kann jedoch dazu führen, dass Clients die falsche Typdefinition verwenden. Alternativ können Sie stattdessen Remotable-Klassen zur Darstellung von Array-Typen verwenden.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Die in der Unit Types definierten dynamischen Array-Typen werden automatisch registriert, d. h., Ihre Anwendung muss keinen speziellen Registrierungscode dafür hinzufügen. Einer dieser Typen, &#039;&#039;TByteDynArray&#039;&#039;, sei hier besonders hervorgehoben, da er im Gegensatz zu den restlichen dynamischen Array-Typen die einzelnen Array-Elemente nicht separat, sondern an einen &amp;quot;base64&amp;quot;-Block binärer Daten zuweist.}}&lt;br /&gt;
&lt;br /&gt;
Aufzählungstypen sowie Typen, die direkt einem skalaren Typ zugeordnet sind, für den automatisches Marshaling durchgeführt wird, können ebenfalls in aufrufbaren Interfaces verwendet werden. Auch diese Typen werden (wie die dynamischen Array-Typen) automatisch in der Remotable-Typ-Registrierung registriert.&lt;br /&gt;
&lt;br /&gt;
Bei allen anderen Typen, wie etwa statischen Arrays, Strukturen, Records, Mengen, Interfaces und Klassen, müssen Sie den Typ einer [[Remotable-Objekte verwenden|Remotable-Klasse]] zuweisen. Unter einer Remotable-Klasse versteht man eine Klasse, die Laufzeit-Typinformationen (RTTI) enthält. Das Interface muss anschließend anstelle des entsprechenden statischen Arrays, der Struktur, des Records, der Menge, des Interface oder der Klasse die Remotable-Klasse verwenden. Alle erstellten Remotable-Klassen müssen in der Remotable-Typ-Registrierung registriert werden. Wie bei den anderen Typen erfolgt auch diese Registrierung automatisch.&lt;br /&gt;
&lt;br /&gt;
==Themen==&lt;br /&gt;
&lt;br /&gt;
* [[Nicht-skalare Typen registrieren|Nicht-skalare Typen registrieren]]&lt;br /&gt;
* [[Remotable-Objekte verwenden|Remotable-Objekte verwenden]]&lt;br /&gt;
* [[Remotable-Objekt (Beispiel)|Remotable-Objekt (Beispiel)]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
*[[Aufrufbare Interfaces im Überblick|Aufrufbare Interfaces im Überblick]]&lt;br /&gt;
*[[Server mit Web-Service-Unterstützung schreiben|Server mit Web-Service-Unterstützung schreiben]]&lt;br /&gt;
* [[Zuordnung der Delphi-Typen zu C++-Typen|Zuordnung der Delphi-Typen zu C++-Typen]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:Using Nonscalar Types in Invokable Interfaces]]&lt;br /&gt;
[[fr:Utilisation de types non scalaires dans des interfaces invocables]]&lt;br /&gt;
[[ja:起動可能インターフェイスでの非スカラー型の使用]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=WSDL-Dokumente_f%C3%BCr_Web-Service-Anwendungen_generieren&amp;diff=215099</id>
		<title>WSDL-Dokumente für Web-Service-Anwendungen generieren</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=WSDL-Dokumente_f%C3%BCr_Web-Service-Anwendungen_generieren&amp;diff=215099"/>
		<updated>2020-12-24T06:37:10Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Tip|}} and the {{Note|}} templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Server mit Web-Service-Unterstützung schreiben}}&lt;br /&gt;
&lt;br /&gt;
Um den Client-Anwendungen mitzuteilen, welche Web-Services durch Ihre Anwendung bereitgestellt werden, können Sie ein WSDL-Dokument publizieren, in dem die aufrufbaren Schnittstellen beschrieben werden und angegeben ist, wie diese Schnittstellen aufzurufen sind.&lt;br /&gt;
&lt;br /&gt;
Um ein WSDL-Dokument zu publizieren, in dem der Web-Service beschrieben wird, nehmen Sie in das Web-Modul eine [[lib_de:Soap.WSDLPub.TWSDLHTMLPublish|Soap.WSDLPub.TWSDLHTMLPublish]]-Komponente auf. (Diese Komponente wird vom SOAP-Server-Anwendungs-Experten standardmäßig hinzugefügt.) &#039;&#039;TWSDLHTMLPublish&#039;&#039; ist eine Auto-Dispatch-Komponente, d.h. sie antwortet automatisch auf eingehende Botschaften, die eine Liste der WSDL-Dokumente für Ihren Web-Service anfordern. Geben Sie mithilfe der Eigenschaft [[lib_de:Soap.WSDLPub.TWSDLHTMLPublish.WebDispatch|WebDispatch]] die Pfadinformationen der URL an, die von den Clients benötigt werden, um auf diese WSDL-Dokumente zuzugreifen. Der Web-Browser kann daraufhin die Liste der WSDL-Dokumente anfordern, indem er eine URL angibt, in welcher der Standort der Server-Anwendung sowie der in der Eigenschaft &#039;&#039;WebDispatch&#039;&#039; vorliegende Pfad enthalten sind. Diese URL sieht beispielsweise folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt; http://www.myco.com/MyService.dll/WSDL &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Tip| Wenn Sie stattdessen eine physische WSDL-Datei verwenden möchten, können Sie das WSDL-Dokument in Ihrem Web-Browser anzeigen und speichern, um eine WSDL-Dokumentdatei zu generieren.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Außer dem WSDL-Dokument generiert die &#039;&#039;THWSDLHTMLPublish&#039;&#039;-Komponente ein Inspection-Dokument für den Web-Service, um den Dienst für automatisierte Werkzeuge zu beschreiben. Die URL für dieses Dokument sieht in etwa folgendermaßen aus:}}&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt; http://www.myco.com/MyService.dll/inspection.wsil &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist nicht erforderlich, das WSDL-Dokument mithilfe derselben Anwendung zu publizieren, die Ihren Web-Service implementiert. Sie können stattdessen eine zweite Anwendung erstellen, die lediglich zum Publizieren des WSDL-Dokuments dient, indem Sie den Code, durch den die Implementierungsobjekte implementiert und registriert werden, weglassen und nur den Code aufnehmen, der zum Definieren und Registrieren von aufrufbaren Schnittstellen, Remotable-Klassen, die komplexe Typen darstellen, sowie von Remotable-Exceptions dient.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie ein WSDL-Dokument publizieren, wird standardmäßig angegeben, dass die Dienste unter derselben URL verfügbar sind, unter der auch das WSDL-Dokument publiziert wurde (jedoch mit einem anderen Pfad). Wenn Sie mehrere Versionen der Web-Service-Anwendung verteilen oder das WSDL-Dokument mit einer anderen Anwendung als derjenigen publizieren möchten, durch die der Web-Service implementiert wird, müssen Sie dem WSDL-Dokument aktualisierte Informationen zum Auffinden des Web-Service hinzufügen.&lt;br /&gt;
&lt;br /&gt;
Verwenden Sie zum Ändern der URL den WSDL-Administrator. Der erste Schritt ist die Aktivierung des Administrators. Dies geschieht durch Setzen der Eigenschaft [[lib_de:Soap.WSDLPub.TWSDLHTMLPublish.AdminEnabled|AdminEnabled]] der Komponente &#039;&#039;TWSDLHTMLPublish&#039;&#039; auf &#039;&#039;True&#039;&#039;. Wenn Sie anschließend mit Ihrem Browser eine Liste der WSDL-Dokumente anzeigen, enthält dieser auch eine Schaltfläche für deren Verwaltung. Mit dem WSDL-Administrator geben Sie die Adressen (URLs) an, unter denen Sie Ihre Web-Service-Anwendung installiert haben.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Nicht-skalare Typen in aufrufbaren Interfaces verwenden]]&lt;br /&gt;
* [[Angepasste Exception-Klassen für Web-Services erstellen]]&lt;br /&gt;
* [[SOAP-Header definieren und verwenden]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:WSDL-Dokumente fur Web-Service-Anwendungen generieren}}&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:{{Delphi}}]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:Generating WSDL Documents for a Web Service Application]]&lt;br /&gt;
[[fr:Génération de documents WSDL pour une application de service Web]]&lt;br /&gt;
[[ja:Web サービス アプリケーション用の WSDL ドキュメントの生成]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Vorbereiten_von_Android-Anwendungen_f%C3%BCr_die_Bereitstellung&amp;diff=215098</id>
		<title>Vorbereiten von Android-Anwendungen für die Bereitstellung</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Vorbereiten_von_Android-Anwendungen_f%C3%BCr_die_Bereitstellung&amp;diff=215098"/>
		<updated>2020-12-19T03:45:00Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Mobile Android-Anwendungsentwicklung}}&lt;br /&gt;
&lt;br /&gt;
Ihre Android-App wird bereitgestellt, wenn Sie sie auf einem &#039;&#039;&#039;Android&#039;&#039;&#039;-Zielgerät ausführen. Sie können die bereitgestellten Dateien mit dem [[Bereitstellungs-Manager|Bereitstellungs-Manager]] verwalten. Sobald Ihre Android-Anwendung für die endgültige Weitergabe bereit ist, können Sie die Anwendung erzeugen und signieren. Siehe &#039;&#039;&#039;[[Bereitstellen von signierten Android-Anwendungen|Bereitstellen von signierten Android-Anwendungen]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Konfigurieren der Optionen für die Bereitstellung von Android-Apps==&lt;br /&gt;
&lt;br /&gt;
Sie müssen verschiedene Optionen für Ihre Android-App konfigurieren, bevor Sie die Anwendung für die Weitergabe erzeugen. Die Eigenschaften, die Sie konfigurieren, werden Ihrer Anwendung normalerweise in Form der Datei {{Path|AndroidManifest.xml}} hinzugefügt. Nach dem Erzeugen und Signieren Ihrer Anwendung können Sie diese Eigenschaften nicht mehr ändern. Da diese Eigenschaften Schlüsselinformationen über Ihre Anwendung bereitstellen, sollten Sie vor der Weitergabe der Anwendung sicherstellen, dass sie die richtigen Werte enthalten, oder Sie müssen möglicherweise die Anwendung erneut erzeugen, um die konfigurierten Werte zu ändern.&lt;br /&gt;
&lt;br /&gt;
Bevor Sie Ihre Android-Anwendung veröffentlichen, sollten Sie überprüfen, ob alle Einstellungen korrekt konfiguriert sind.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So konfigurieren Sie Ihre Android-App:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Geben Sie auf der Seite &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Projekt &amp;amp;gt; Optionen &amp;amp;gt; [[Anwendungsoptionen|Anwendung]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; die Symbole und Grafiken zur Darstellung Ihrer Anwendung an.&lt;br /&gt;
* Erhöhen Sie auf der Seite &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Projekt &amp;amp;gt; Optionen &amp;amp;gt; [[Versionsinformationen|Versionsinformationen]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; den Versionscode Ihrer Anwendung. Für manche Anwendungs-Stores, wie Google Play, müssen neuere Versionen Ihrer Anwendung immer einen höheren Versionscode als die Vorgängerversionen aufweisen.&lt;br /&gt;
* Definieren Sie auf der Seite &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Projekt &amp;amp;gt; Optionen &amp;amp;gt; [[Verwendet Berechtigungen|Verwendet Berechtigungen]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; die Berechtigungen, die für die Nutzung Ihrer Anwendung erforderlich sind.&lt;br /&gt;
* Bei Bedarf können Sie [[Vorbereiten von Android-Anwendungen für die Bereitstellung#Deklarieren_von_Funktionen_als_optional|Funktionen als optional deklarieren]].&lt;br /&gt;
* Wählen Sie auf der Seite &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Projekt &amp;amp;gt; Optionen &amp;amp;gt; [[Bereitstellungsseite|Bereitstellung]]&#039;&#039;&#039;&amp;lt;/font&amp;gt; unter &#039;&#039;&#039;Ziel&#039;&#039;&#039; die Build-Konfiguration aus, mit der Sie Ihre Anwendung bereitstellen möchten (z. B. &#039;&#039;&#039;Release&#039;&#039;&#039;) und [[Ausfüllen der Bereitstellungsseite#Android-Plattform (Anwendungs-Store)|geben Sie eine KeyStore-Datei an]], sofern Sie diese noch nicht erstellt haben. Dieser Schritt ist erforderlich, um Ihre Anwendung auf einem Gerät, auf dem das [[Aktivieren des USB-Debugging auf Android-Geräten|USB-Debugging deaktiviert]] ist, installieren und an andere weitergeben zu können. Weitere Informationen zu Keystore-Dateien finden Sie unter:  [http://docs.oracle.com/javase/1.5.0/docs/api/java/security/KeyStore.html http://docs.oracle.com/javase/1.5.0/docs/api/java/security/KeyStore.html (EN)].&lt;br /&gt;
&lt;br /&gt;
==Anpassen der Datei &amp;quot;AndroidManifest.xml&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{Product}}&#039;&#039;&#039; schreibt die [[#Konfigurieren der Optionen für die Bereitstellung von Android-Apps|Optionen Ihrer Android-Anwendung]] in eine spezielle Android-Datei, [[Anwendungsmanifestdatei für Android (AndroidManifest.xml)|AndroidManifest.xml]], die bei der Weitergabe Ihrer Anwendung für Android in Ihr endgültiges Android-Paket aufgenommen wird. In dieser Datei werden der Versionscode oder der Anzeigename Ihrer Anwendung, die Liste der Berechtigungen, die Ihre Anwendung benötigt, usw. festgelegt.&lt;br /&gt;
&lt;br /&gt;
In der Regel müssen Sie sich nicht um diese Datei kümmern. &#039;&#039;&#039;{{Product}}&#039;&#039;&#039; übernimmt dies für Sie. {{Product}} ermöglicht aber, dass Sie den Inhalt der Datei {{Path|AndroidManifest.xml}} anpassen, wenn Sie benutzerdefinierte Daten in diese Datei einbeziehen müssen, die Sie nicht visuell in den [[Projektoptionen (Dialogfeld)|Projektoptionen]] festlegen können.&lt;br /&gt;
&lt;br /&gt;
Beim ersten Erzeugen einer Anwendung für die Android-Zielplattform fügt {{Product}} eine Datei in Ihren Projektordner ein: {{Path|AndroidManifest.template.xml}}. Jedes Mal, wenn Sie eine Anwendung für Android erzeugen, liest {{Product}} diese Datei, ersetzt Platzhalter in der Datei durch echte Werte aus den [[Projektoptionen (Dialogfeld)|Projektoptionen]] und schreibt den resultierenden Inhalt in eine Ausgabedatei: {{Path|Android\&amp;amp;lt;Build-Konfiguration&amp;amp;gt;\AndroidManifest.xml}}. Diese Ausgabedatei ist die Datei &amp;quot;AndroidManifest.xml&amp;quot;, die in das Android-Paket aufgenommen wird, das {{Product}} beim Bereitstellen Ihrer Anwendung für die Android-Zielplattform generiert.&lt;br /&gt;
&lt;br /&gt;
Um die Ausgabedatei {{Path|AndroidManifest.xml}} eines &#039;&#039;&#039;einzelnen Projekts&#039;&#039;&#039; anzupassen, bearbeiten Sie den Inhalt von {{Path|AndroidManifest.template.xml}}.&lt;br /&gt;
&lt;br /&gt;
Die Datei {{Path|AndroidManifest.template.xml}}, die {{Product}} einem Projekt beim ersten Erzeugen dieses Projekts für die Android-Zielplattform hinzufügt, wird aus der Datei {{Path|{{AppDataPath}}\AndroidManifest.xml}} erstellt. Bearbeiten Sie diese Datei, wenn Ihre &#039;&#039;&#039;neuen Projekte&#039;&#039;&#039; eine andere {{Path|AndroidManifest.template.xml}}-Datei als Ausgangspunkt verwenden sollen.&lt;br /&gt;
&lt;br /&gt;
==Neu Erstellen der AndroidManifest.template.xml-Datei==&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei, die {{product}} generiert, kann zwischen Versionen Änderungen aufweisen. Um ein Projekt bereitzustellen, das mit unterschiedlichen Versionen von {{product}} erstellt wurde, seien Sie besonders vorsichtig mit der existierenden &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei von Ihrem Projektordner. &lt;br /&gt;
&lt;br /&gt;
Es gibt zwei verschiedene Szenarien:&lt;br /&gt;
&lt;br /&gt;
* Sie möchten die alte AndroidManifest.template.xml-Datei beibehalten, weil sie angepasst ist.&lt;br /&gt;
* Sie müssen die alte AndroidManifest.template.xml-Datei nicht beibehalten.&lt;br /&gt;
&lt;br /&gt;
===Beibehalten der AndroidManifest.template.xml-Datei===&lt;br /&gt;
&lt;br /&gt;
Sie können Ihre &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei beibehalten, wenn Sie die Datei manuell geändert haben. In diesem Fall müssen Sie den folgenden Schritten folgen:&lt;br /&gt;
&lt;br /&gt;
* Öffnen Sie Ihren Projektordner.&lt;br /&gt;
* Seien Sie sicher, dass Sie Ihre &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei sichern. &lt;br /&gt;
* Löschen Sie die &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei aus dem Projektordner.&lt;br /&gt;
* Öffnen Sie Ihr Projekt mit der neuen {{product}}-Version.&lt;br /&gt;
* Wählen Sie Ziel-&#039;&#039;&#039;Android&#039;&#039;&#039;. &lt;br /&gt;
* Erstellen Sie das Projekt. &lt;br /&gt;
{{Note|Erzeugen des Projekts erstellt eine neue &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei.}}&lt;br /&gt;
* Gehen Sie zu Ihrem Projektordner, um zu überprüfen, ob eine neue &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei vorhanden ist.&lt;br /&gt;
* Fügen Sie manuell Ihre Änderungen Ihrer neuen &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei hinzu.&lt;br /&gt;
&lt;br /&gt;
===Erstellen einer neuen AndroidManifest.template.xml-Datei===&lt;br /&gt;
&lt;br /&gt;
Wenn Sie die &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-datei nicht ändern, folgen Sie diesen Schritten, damit {{product}} eine neue Datei erstellt:&lt;br /&gt;
&lt;br /&gt;
* Öffnen Sie Ihren Projektordner.&lt;br /&gt;
* Löschen Sie die &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei, falls vorhanden.&lt;br /&gt;
* Öffnen Sie Ihr Projekt mit der neuen {{product}}-Version.&lt;br /&gt;
* Wählen Sie Ziel-&#039;&#039;&#039;Android&#039;&#039;&#039;. &lt;br /&gt;
* Erstellen Sie das Projekt. &lt;br /&gt;
{{Note|Erzeugen des Projekts erstellt eine neue &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei.}}&lt;br /&gt;
* Gehen Sie zu Ihrem Projektordner, um zu überprüfen, ob eine neue &#039;&#039;&#039;AndroidManifest.template.xml&#039;&#039;&#039;-Datei vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
==Deklarieren von Funktionen als optional==&lt;br /&gt;
&lt;br /&gt;
Beim Erzeugen Ihrer Android-Anwendung wird automatisch eine Liste erforderlicher Funktionen auf Basis der deklarierten Berechtigungen erstellt. Diese Liste dient nur Informationszwecken und verhindert die Installation einer Anwendung auf einem Gerät nicht. Einige Dienste, wie Google Play, filtern anhand dieser Liste die Anwendungen, die Benutzern angezeigt werden. Auf diese Weise können Benutzer nur diejenigen Anwendungen sehen und herunterladen, die mit Ihrem Gerät kompatibel sind. Alle Funktionen, die Ihre Anwendung benötigt, werden standardmäßig als erforderlich deklariert, wodurch Ihre Anwendung inkompatibel zu Geräten wird, die diese Funktionen nicht unterstützen. &lt;br /&gt;
&lt;br /&gt;
Wenn für Ihre Anwendung eine bestimmte Funktion nicht erforderlich ist, um ausgeführt zu werden (aber diese Funktion für untergeordnete Zwecke benötigt), können Sie sie als optional deklarieren. Um eine Funktion als optional zu deklarieren, müssen Sie sie im Anwendungsmanifest explizit als nicht erforderlich angeben.&lt;br /&gt;
&lt;br /&gt;
Um beispielsweise zu deklarieren, dass Ihre Anwendung optional Zugriff auf das Mikrofon benötigt, müssen Sie Folgendes ausführen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Legen Sie die Berechtigung {{Code|Audio aufzeichnen}} unter [[Verwendet Berechtigungen|Verwendet Berechtigungen]] fest.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Fügen Sie manuell die folgende Zeile in die Datei {{Path|AndroidManifest.template.xml}} nach &#039;&#039;&#039;&amp;amp;lt;%uses-permission%&amp;amp;gt;&#039;&#039;&#039; ein: (Informationen zum Ändern von {{Path|AndroidManifest.template.xml}} finden Sie im Abschnitt [[Vorbereiten von Android-Anwendungen für die Bereitstellung#Anpassen der Datei &amp;quot;AndroidManifest.xml&amp;quot;|Anpassen der Datei &amp;quot;AndroidManifest.xml&amp;quot;]]):&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;uses-feature android:name=&amp;quot;android.hardware.microphone&amp;quot; android:required=&amp;quot;False&amp;quot;/&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|Einige Berechtigungen, wie {{Code|android.permission.CAMERA}}, implizieren mehrere Funktionsanforderungen. Weitere Informationen finden Sie unter [http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions Permissions that Imply Feature Requirements (EN)].}}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine vollständige Liste der von den meisten aktuellen Plattformversionen unterstützten Hard- und Software finden Sie unter [http://developer.android.com/guide/topics/manifest/uses-feature-element.html#features-reference Features Reference (EN)].&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Bereitstellung von geräteübergreifenden Anwendungen|Bereitstellen von geräteübergreifenden Anwendungen]]&lt;br /&gt;
* [[Bereitstellen von signierten Android-Anwendungen|Bereitstellen von signierten Android-Anwendungen]]&lt;br /&gt;
* [[Geräteübergreifende Datenbankanwendungen|Geräteübergreifende Datenbankanwendungen]]&lt;br /&gt;
* [[Erstellen einer KeyStore-Datei|Erstellen einer KeyStore-Datei]]&lt;br /&gt;
* [[Verwendet Berechtigungen|Verwendet Berechtigungen]]&lt;br /&gt;
* [[Versionsinformationen|Versionsinformationen]]&lt;br /&gt;
&lt;br /&gt;
* [http://developer.android.com/guide/topics/manifest/uses-feature-element.html Android Developers APi Guides: App Manifest - &amp;lt;uses-feature&amp;gt; (EN)]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Vorbereiten von Android-Anwendungen fur die Bereitstellung}}&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:XE5]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Preparing an Android Application for Deployment]]&lt;br /&gt;
[[fr:Préparation d&#039;une application Android pour son déploiement]]&lt;br /&gt;
[[ja:Android アプリケーションの配置準備]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Arten_von_dbExpress-Datenmengen&amp;diff=215096</id>
		<title>Arten von dbExpress-Datenmengen</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Arten_von_dbExpress-Datenmengen&amp;diff=215096"/>
		<updated>2020-11-27T14:24:41Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Verwenden von dbExpress-Komponenten - Index}}&lt;br /&gt;
&lt;br /&gt;
Die Kategorie &#039;&#039;dbExpress&#039;&#039; der &#039;&#039;&#039;Tool-Palette&#039;&#039;&#039; enthält vier Typen unidirektionaler Datenmengen: [[lib_de:Data.SqlExpr.TSQLDataSet|SQLExpr.TSQLDataSet]], [[lib_de:Data.SqlExpr.TSQLQuery|SQLExpr.TSQLQuery]], [[lib_de:Data.SqlExpr.TSQLTable|SQLExpr.TSQLTable]] und [[lib_de:Data.SqlExpr.TSQLStoredProc|SQLExpr.TSQLStoredProc]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TSQLDataSet&#039;&#039; ist der am wenigsten spezialisierte der vier Typen. Sie können eine SQL-Datenmenge verwenden, um alle über &#039;&#039;dbExpress&#039;&#039; verfügbaren Daten darzustellen oder um Befehle an eine Datenbank zu senden, auf die über &#039;&#039;dbExpress&#039;&#039; zugegriffen wird. Diese Komponente wird für die Arbeit mit Datenbanktabellen in neuen Datenbankanwendungen empfohlen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TSQLQuery&#039;&#039; ist eine [[Abfrage-Datenmengen|abfragebasierte Datenmenge]], die eine SQL-Anweisung kapselt und es Anwendungen ermöglicht, auf die gegebenenfalls resultierenden Datensätze zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TSQLTable&#039;&#039; ist eine [[Tabellen-Datenmengen|Tabellen-Datenmenge]], die alle Zeilen und Spalten einer Datenbanktabelle darstellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TSQLStoredProc&#039;&#039; ist eine auf [[Datenmengen vom Typ Stored Procedures|Stored Procedures basierende Datenmenge]], die eine auf einem Datenbankserver definierte Stored Procedure ausführt.&lt;br /&gt;
&lt;br /&gt;
{{Note| Die Kategorie &#039;&#039;dbExpress&#039;&#039; enthält auch die nicht-unidirektionale Datenmenge [[lib_de:SimpleDS.TSimpleDataSet|SimpleDS.TSimpleDataSet]]. Sie ist vielmehr eine Client-Datenmenge, die intern eine unidirektionale Datenmenge für den Zugriff auf Daten verwendet.}}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Vorgeben, welche Daten angezeigt werden sollen|Vorgeben, welche Daten angezeigt werden sollen]]&lt;br /&gt;
* [[Herstellen einer Verbindung zum Datenbankserver mit dbExpress|Herstellen einer Verbindung zum Datenbankserver mit dbExpress]]&lt;br /&gt;
* [[Daten abrufen|Daten abrufen]]&lt;br /&gt;
* [[Befehle ausführen, die keine Datensätze zurückgeben|Befehle ausführen, die keine Datensätze zurückgeben]]&lt;br /&gt;
* [[Auf Schema-Informationen zugreifen|Auf Schema-Informationen zugreifen]]&lt;br /&gt;
* [[DbExpress-Anwendungen mit TSQLMonitor debuggen|dbExpress-Anwendungen mit TSQLMonitor debuggen]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows-Entwicklerhandbuch]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
&lt;br /&gt;
[[en:Types of dbExpress Datasets]]&lt;br /&gt;
[[fr:Types d&#039;ensembles de données dbExpress]]&lt;br /&gt;
[[ja:DbExpress データセットの種類]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=%C3%9Cberblick_%C3%BCber_VCL-Stile&amp;diff=215095</id>
		<title>Überblick über VCL-Stile</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=%C3%9Cberblick_%C3%BCber_VCL-Stile&amp;diff=215095"/>
		<updated>2020-11-20T04:19:32Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Added the {{Note|}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Arbeiten mit VCL-Stilen}}&lt;br /&gt;
&lt;br /&gt;
==Begriffsdefinition: Stil==&lt;br /&gt;
&lt;br /&gt;
Sie können das Erscheinungsbild einer VCL-Anwendung mit &#039;&#039;Stilen&#039;&#039; ändern. Ein Stil:&lt;br /&gt;
&lt;br /&gt;
* Ist eine Gruppe von grafischen Details, die das Aussehen und Verhalten einer VCL-Anwendung definieren.&lt;br /&gt;
* Entspricht einem Theme in Windows.&lt;br /&gt;
&lt;br /&gt;
Mit einem Stil können Sie das Aussehen jedes Teils und Zustands eines Steuerelements ändern. VCL-Steuerelemente bestehen aus Teilen und Zuständen. Ein VCL-Stil umfasst eine Gruppe von Werten für diese Teile und Zustände. Eine Bildlaufleiste hat beispielsweise die folgenden Teile: Rahmen, Schieberegler und die beiden Richtungsschaltflächen an den Seiten. Die Richtungsschaltflächen haben z.B. die folgenden Zustände: gedrückt, deaktiviert, aktiv, normal.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie zum Festlegen eines Stiles für eine VCL-Anwendung den Stile in &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Projekt &amp;amp;gt; Optionen &amp;amp;gt; Anwendung &amp;amp;gt; Erscheinungsbild&#039;&#039;&#039;&amp;lt;/font&amp;gt; aus. Weitere Einzelheiten finden Sie unter [[Erscheinungsbild der Anwendung|Erscheinungsbild der Anwendung]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Der VCL-Stil ändert das Erscheinungsbild der Anwendung zur Laufzeit. Der &#039;&#039;&#039;[[Formular-Designer|Formular-Designer]]&#039;&#039;&#039; zeigt diese Änderungen nicht an.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Speicherort von Stildateien (&amp;lt;code&amp;gt;.vsf&amp;lt;/code&amp;gt;-Dateien):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Die mit dem Produkt ausgelieferten VCL-Stile sind im folgenden Verzeichnis verfügbar:&lt;br /&gt;
*:{{Path|{{StylesPath}}}}.&lt;br /&gt;
* Sie erhalten neue VCL-Stile unter [{{VCLPremiumStylesPack}} &#039;&#039;&#039;VCL premium style pack (EN)&#039;&#039;&#039;].&lt;br /&gt;
* Sie können Stile (VCL oder {{FM}}) mit Ihren Anwendungen weitergeben. Die weitergabefähigen Stildateien befinden sich in folgendem Verzeichnis der Produktinstallation:&lt;br /&gt;
*: &#039;&#039;&#039;\Redist\styles&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Bitmap-Stil-Designer==&lt;br /&gt;
&lt;br /&gt;
Mit dem &#039;&#039;&#039;[[Bitmap-Stil-Designer|Bitmap-Stil-Designer]]&#039;&#039;&#039; im Menü &#039;&#039;&#039;Tools&#039;&#039;&#039; können Sie eigene Stile erstellen oder vorhandene ändern. Weitere Details finden Sie unter [[Erstellen eines Stils mit dem Bitmap-Stil-Designer|Erstellen eines Stils mit dem Bitmap-Stil-Designer]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bitmap Style Designer&#039;&#039;&#039; unterstützt auch die Konvertierung eines VCL-Stils in einen {{FM}}-Stil und stellt Testanwendungen zum Testen der VCL-, {{FM}}- und {{FM}} Metro-Stile bereit.&lt;br /&gt;
&lt;br /&gt;
==Verwalten von Stilen==&lt;br /&gt;
&lt;br /&gt;
Mit der Funktion [[lib_de:Vcl.Themes.StyleServices|Vcl.Themes.StyleServices]] können Sie programmseitig auf Informationen über den aktuellen Stil zugreifen. Die Funktion &#039;&#039;&#039;StyleServices&#039;&#039;&#039; stellt Informationen über die mit Stilen ausgestatteten Steuerelemente und Elemente bereit, und Sie können damit das Zeichnen von Steuerelementen durchführen. Unter [[lib_de:Vcl.Themes.TCustomStyleServices|Vcl.Themes.TCustomStyleServices]] finden Sie Informationen zum Interface [[lib_de:Vcl.Themes.StyleServices|Vcl.Themes.StyleServices]].&lt;br /&gt;
&lt;br /&gt;
Mit der Klasse [[lib_de:Vcl.Styles.TStyleEngine|Vcl.Themes.TStyleEngine]] können Sie Stil-Hook-Klassen für benutzerdefinierte VCL-Komponenten registrieren. Ein Stil-Hook ist eine Klasse, die Sie zum Bereitstellen der benutzerdefinierten Botschaftsbehandlung für benutzerdefinierte Steuerelemente implementieren müssen. Wenn für ein benutzerdefiniertes Steuerelement eine spezielle visuelle Verarbeitung erforderlich ist, erstellen Sie durch Ableiten von [[lib_de:Vcl.Themes.TStyleHook|Vcl.Themes.TStyleHook]] für die Verarbeitung der Botschaften eine Stil-Hook-Klasse.&lt;br /&gt;
&lt;br /&gt;
Mit der Klasse [[lib_de:Vcl.Themes.TStyleManager|Vcl.Themes.TStyleManager]] können Sie Stile laden, registrieren und auswählen oder eine Stil-Engine ermitteln, registrieren und deregistrieren.&lt;br /&gt;
&lt;br /&gt;
==Einschränkungen==&lt;br /&gt;
&lt;br /&gt;
Die Verwendung von VCL-Stilen hat einige Einschränkungen. Dieser Abschnitt zählt die Einschränkungen auf:&lt;br /&gt;
&lt;br /&gt;
* Die VCL-Stile sind nicht gezeichnet, wenn die [[lib_de:Vcl.ComCtrls.TAutoCompleteOption|automatische Option]] eines [[lib_de:Vcl.ComCtrls.TComboBoxEx|TComboBoxEx]]-Steuerelements verwendet wird. In diesem Fall wird immer die automatische Dropdown-Liste mit dem Windows-Theme gezeichnet, selbst wenn ein VCL-Stil aktiv ist. Der VCL-Stil wird korrekt gezeichnet, wenn die normale Dropdown-Liste gezeichnet wird.&lt;br /&gt;
* Windows stellt eine Bildlaufleiste bereit, wenn [[lib_de:Vcl.Menus.TPopupMenu|Popup-Menüs]] verwendet werden, die größer als die Bildschirmhöhe sind. Wenn Sie jedoch VCL-Stile verwenden, wird die Bildlaufleiste verwendet. Um dieses Problem zu lösen, können Sie die [[lib_de:Vcl.Menus.TMenuItem.Break|TMenuItem.Break]]-Eigenschaft verwenden, um ein Menü mit Spalten zu erstellen.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Erscheinungsbild der Anwendung|Erscheinungsbild der Anwendung]]&lt;br /&gt;
* [[Bitmap-Stil-Designer|Bitmap-Stil-Designer]]&lt;br /&gt;
* [[Erstellen eines Stils mit dem Bitmap-Stil-Designer|Erstellen eines Stils mit dem Bitmap-Stil-Designer]]&lt;br /&gt;
* [[Arbeiten mit Bildern im Bitmap-Stil-Designer|Arbeiten mit Bildern im Bitmap-Stil-Designer]]&lt;br /&gt;
* [[Konvertieren eines VCL-Stils in einen FireMonkey-Stil|Konvertieren eines VCL-Stils in einen FireMonkey-Stil]]&lt;br /&gt;
* [[lib_de:Vcl.Styles.TStyleEngine|Vcl.Styles.TStyleEngine]]&lt;br /&gt;
* [[lib_de:Vcl.Themes.StyleServices|Vcl.Themes.StyleServices]]&lt;br /&gt;
* [[lib_de:Vcl.Themes.TStyleManager|Vcl.Themes.TStyleManager]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Uberblick uber VCL-Stile}}&lt;br /&gt;
[[Category:Mit Delphi für Windows arbeiten]]&lt;br /&gt;
[[Category:Delphi]]&lt;br /&gt;
&lt;br /&gt;
[[en:VCL Styles Overview]]&lt;br /&gt;
[[fr:Présentation des styles VCL]]&lt;br /&gt;
[[ja:VCL スタイルの概要]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Erstellen_einer_einfachen_C%2B%2B-Anwendung_f%C3%BCr_die_Verwendung_von_C%2B%2B11-Features&amp;diff=215094</id>
		<title>Erstellen einer einfachen C++-Anwendung für die Verwendung von C++11-Features</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Erstellen_einer_einfachen_C%2B%2B-Anwendung_f%C3%BCr_die_Verwendung_von_C%2B%2B11-Features&amp;diff=215094"/>
		<updated>2020-11-18T02:36:51Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: RS-103954&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Parent|Modernes C++}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{{CBuilder}}&#039;&#039;&#039; unterstützt C++11, die neueste Version des C++-Standards.&lt;br /&gt;
&lt;br /&gt;
Die einfachste Möglichkeit, die neuen &#039;&#039;&#039;[[Moderne C++-Features, die von durch Clang erweiterte C++-Compiler in RAD Studio unterstützt werden|C++11-Features]]&#039;&#039;&#039; in {{CBuilder}}-Anwendungen zu testen und zu verwenden, ist das Erstellen einer C++-Konsolenanwendung, wie in den folgenden Schritten beschrieben. {{f|vcl|Sie können C++11-Features auch in einer mit {{Product}} erstellten C++-Anwendung für 64-Bit-Windows verwenden, wie z.B. in C++-VCL-Formularanwendungen oder geräteübergreifenden C++-Anwendungen.}} In einer C++-Konsolenanwendung können Sie die C++11-Syntax aber ohne zugeordnetes Framework testen.&lt;br /&gt;
&lt;br /&gt;
{{Note|Die hier beschriebenen grundlegenden Schritte (Erstellen einer C++-Konsolenanwendung) sind auch für das Ausprobieren der Features des C++-Compilers oder zum Ausführen von auf das absolute Minimum reduzierten C++-Entwicklungen und -Tests nur mit der zugeordneten [[Verwenden der RTL (Laufzeitbibliothek)|RTL]] hilfreich.}}&lt;br /&gt;
&lt;br /&gt;
==Schritte==&lt;br /&gt;
&lt;br /&gt;
# Wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Datei &amp;amp;gt; Neu &amp;amp;gt; Weitere&#039;&#039;&#039;&amp;lt;/font&amp;gt;.&lt;br /&gt;
#: [[File:File - New - Other.png|link=]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Das Dialogfeld &#039;&#039;&#039;[[Objektgalerie|Objektgalerie]]&#039;&#039;&#039; wird geöffnet. Klicken Sie auf &#039;&#039;&#039;{{CBuilder}}-Projekte&#039;&#039;&#039;, wählen Sie &#039;&#039;&#039;Konsolenanwendung&#039;&#039;&#039;, und klicken Sie auf &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
#: [[File:Console Application.png|link=]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Das Dialogfeld &#039;&#039;&#039;[[Neue Konsolenanwendung (C++)|Neue Konsolenanwendung (C++)]]&#039;&#039;&#039; wird geöffnet. Aktivieren Sie den Quelltyp &#039;&#039;&#039;C++&#039;&#039;&#039;. {{f|vcl|Wenn Sie für die Anwendung ein Framework festlegen möchten, wählen Sie im Kombinationsfeld &#039;&#039;&#039;Ziel-Framework&#039;&#039;&#039; die Option &#039;&#039;&#039;VCL&#039;&#039;&#039; oder &#039;&#039;&#039;{{FM}}&#039;&#039;&#039; aus; wenn nicht, wählen Sie &#039;&#039;&#039;Keine&#039;&#039;&#039;.|Wenn Sie für die Anwendung ein Framework festlegen möchten, wählen Sie im Kombinationsfeld &#039;&#039;&#039;Ziel-Framework&#039;&#039;&#039; die Option &#039;&#039;&#039;VCL&#039;&#039;&#039; oder &#039;&#039;&#039;{{FM}}&#039;&#039;&#039; aus; wenn nicht, wählen Sie &#039;&#039;&#039;Keine&#039;&#039;&#039;.}} Belassen Sie die Vorgabeeinstellungen der anderen Optionen, und klicken Sie auf &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
#:[[File:New Console Application.png|link=]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Klicken Sie in der [[Projektverwaltung|Projektverwaltung]] mit der rechten Maustaste auf &#039;&#039;&#039;Zielplattformen&#039;&#039;&#039;, und wählen Sie &#039;&#039;&#039;Plattform hinzufügen&#039;&#039;&#039; aus.&lt;br /&gt;
#:[[File:Project Window.png|link=]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Wählen Sie im Dialogfeld &#039;&#039;&#039;Plattform auswählen&#039;&#039;&#039; den Eintrag &#039;&#039;&#039;64-Bit-Windows&#039;&#039;&#039; aus, und klicken Sie auf &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
#:[[File:SelectPlatform64.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Der [[Quelltext-Editor|Quelltext-Editor]] wird mit dem Skeleton-Code für eine einfache C++-Anwendung angezeigt. Sie können Ihren C++11-Code in diese Datei schreiben.&lt;br /&gt;
#:Beispielsweise wird im folgenden Code das Schlüsselwort &#039;&#039;&#039;[[Auto|auto]]&#039;&#039;&#039; wie in C++11 definiert verwendet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 int main() {&lt;br /&gt;
 	char array[] = {&#039;C&#039;, &#039;+&#039;, &#039;+&#039;, &#039;1&#039;, &#039;1&#039;};&lt;br /&gt;
 	for (auto&amp;amp;i : array) {&lt;br /&gt;
 		printf(&amp;quot;%c&amp;quot;, i);&lt;br /&gt;
 	}&lt;br /&gt;
 	std::cin.get();&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: 7.  Drücken Sie die Taste F9, oder wählen Sie &amp;lt;font color=&amp;quot;#598527&amp;quot;&amp;gt;&#039;&#039;&#039;Start &amp;amp;gt; [[Start|Start]]&#039;&#039;&#039;&amp;lt;/font&amp;gt;, um die Anwendung auszuführen:&lt;br /&gt;
: [[File:RunApplication.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C++11-Codebeispiele finden Sie unter &#039;&#039;&#039;[[Modernes C++|C++11]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
&lt;br /&gt;
* [[Modernes C++|C++11]]&lt;br /&gt;
* [[Moderne C++-Features, die von durch Clang erweiterte C++-Compiler in RAD Studio unterstützt werden|Von C++-Compilern aus RAD Studio, die durch Clang erweitert wurden, unterstützte C++11-Features]]&lt;br /&gt;
* [[Neue Konsolenanwendung (C++)|Neue Konsolenanwendung (C++)]]&lt;br /&gt;
* [[Konsolenanwendungen|Konsolenanwendungen]]&lt;br /&gt;
* [[Vorlagenbibliotheken erstellen|Vorlagenbibliotheken erstellen]]&lt;br /&gt;
* [[C++Builder-Anwendungsentwicklung für 64-Bit-Windows|{{CBuilder}}-Anwendungsentwicklung für 64-Bit-Windows]]&lt;br /&gt;
* [[Durch Clang erweiterte C++-Compiler|Durch Clang erweiterte C++-Compiler]]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Erstellen einer einfachen C++-Anwendung fur die Verwendung von C++11-Features}}&lt;br /&gt;
[[Category:C++]]&lt;br /&gt;
[[Category:XE3]]&lt;br /&gt;
[[Category:AMMigrate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Creating a Simple C++ Application to Use Modern C++ Features]]&lt;br /&gt;
[[fr:Création d&#039;une application C++ simple pour utiliser les fonctionnalités C++11]]&lt;br /&gt;
[[ja:C++11 機能を使用する簡単な C++ アプリケーションを作成する]]&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
	<entry>
		<id>https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Datei:Select_Platform.png&amp;diff=215093</id>
		<title>Datei:Select Platform.png</title>
		<link rel="alternate" type="text/html" href="https://docwiki.embarcadero.com/RADStudio/Rio/d/index.php?title=Datei:Select_Platform.png&amp;diff=215093"/>
		<updated>2020-11-18T02:35:36Z</updated>

		<summary type="html">&lt;p&gt;Fabiola.Arias: Fabiola.Arias lud eine neue Version von Datei:Select Platform.png hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fabiola.Arias</name></author>
	</entry>
</feed>