Release-Hinweise für XE2

Diese Release-Hinweise enthalten wichtige Informationen, die möglicherweise nicht in der Hauptdokumentation zu dem Produkt vorhanden sind. Embarcadero empfiehlt Ihnen, diese Seite vollständig durchzulesen. Die aktuellste Version dieser Hinweise finden Sie unter http://docwiki.embarcadero.com/RADStudio/de/Release-Hinweise_f%C3%BCr_XE2.

Installation, Deinstallation und Upgrade des Produkts

Lesen Sie vor der Installation, Deinstallation oder dem Upgrade des Produkts die Dateien Install.htm und License.rtf. Die Datei Install.htm enthält die System- und Speicherplatzanforderungen sowie Installations- und Upgrade-Anweisungen.Die Datei License.rtf enthält Ihre Software-Lizenz- und -Supportvereinbarung.

Lesen Sie die neueste Version der Datei Install.htm auf DocWiki unter Installationshinweise für XE2.

Folgendermaßen können Sie auf die Datei Install.htm zugreifen:

Installieren Sie alle verfügbaren Updates – Update 1 ist erforderlich

Da das Produkt-Update 1 als Baseline für XE2 verwendet wird, muss es installiert sein, damit weitere Updates erfolgen können.

Sie sollten jedes Produkt-Update, sobald es erhältlich ist, installieren. Für jedes Update, außer für Update 1, stehen eigene Release-Hinweise auf dem DocWiki bereit. Daher können (und sollten) Sie die entsprechenden Release-Hinweise vor der Installation des jeweiligen Updates lesen. Die verfügbaren XE2-Updates (außer Update 1) sind am Ende dieser Release-Hinweise und in Neuerungen in Delphi und C++Builder XE2 aufgelistet.

Rufen Sie den Befehl Start | Alle Programme | Embarcadero RAD Studio XE2 | Suchen von Aktualisierungen auf, um zu überprüfen, ob ein Produkt-Update verfügbar ist.

Anleitungen dazu finden Sie unter Installationshinweise für XE2.

Weitere Informationen zur Installation, zum Deployment und zur Lizenzierung finden Sie in den Dateien Install.htm, Deploy.htm und License.rtf, die standardmäßig im Ordner C:\Programme\Embarcadero\RAD Studio\x.x (für 64-Bit-Windows Programme (x86)) enthalten sind.

Allgemeine Hinweise

Ihr Produkt enthält Lizenzen für frühere Versionen

Ihre XE2-Lizenz umfasst Lizenzen für frühere Versionen des Produkts.

Weitere Informationen zu Lizenzen finden Sie unter Installationshinweise für XE2 oder in der Datei Install.htm im Verzeichnis Ihrer Produktinstallation.

Hinzufügen von als Abhängigkeiten erforderlichen DLLs/DYLIBs/Packages

Wenn ein Projekt A (ausführbare Datei oder DLL/DYLIB/Package) von einem anderen Projekt B abhängt, müssen Sie die Abhängigkeiten für Projekt B zusammen mit Projekt A weitergeben. Beispielsweise könnten in einer OS X-Anwendung erforderliche DYLIBs "libcgcrt.dylib", "bplrtl160.dylib" oder andere Embarcadero-DYLIBs sein. Untersuchen Sie zum manuellen Hinzufügen von Dateien zu einer Bereitstellung im Bereitstellungs-Manager die für das Projekt B bereitgestellten Dateien, und fügen Sie dem Projekt A diese DDLs/DYLIBs/Packages zusammen mit der endgültigen Ausgabe von B hinzu.

Problem bei ungültiger Plattform

Wenn in Ihrem System ein unbekannter Plattformwert festgelegt ist (z.B. in einer vordefinierten %Platform%-Systemvariable), wird die folgende (oder eine ähnlich lautende) Fehlermeldung angezeigt:

Ungültige PLATFORM-Variable "(Wert)". PLATFORM muss einer der folgenden Werte sein: "Win32", "Win64" oder "OSX32".

Wenn der Wert für PLATFORM in Ihrer Systemumgebung festgelegt ist, muss er in der IDE von RAD Studio überschrieben oder über die Befehlszeile an MSBuild übergeben werden, z.B. in der Form /p:Platform=Win32.

Debuggen von WebSnap und WebBroker mit WebAppDebugger

Starten Sie zum Debuggen von WebSnap- und WebBroker-Anwendungen mit dem WebAppDebugger die Datei serverinfo.exe, die sich im Hintergrund selbst registriert. Dieser Schritt ist für den Debugger für Webanwendungen (WebAppDbg.exe im Verzeichnis \bin Ihrer Installation) erforderlich.

IDE-Unterstützung für Unicode-Zeichen, die nicht im Basic Multilingual Plane enthalten sind

Windows® Vista®, Windows® 7 und zukünftige Betriebssysteme zeigen die Schriftart für jede Sprache korrekt an. Unter XP unterstützt die von der IDE verwendete Schriftart (Tahoma, die mit den englischen Versionen des Betriebssystems ausgeliefert wird) jedoch nur die Anzeige von Zeichen, die im Basic Multilingual Plane enthalten sind. Zeichen, die Surrogatpaare verwenden, werden in einigen Bereichen der IDE, z.B. im Objektinspektor, nicht korrekt angezeigt.

Für eine korrekte Anzeige muss eine zusätzliche Sprachunterstützung in Windows installiert werden. Verwenden Sie dazu Regions- und Sprachoptionen in der Windows-Systemsteuerung. Weitere Informationen finden Sie unter http://blogs.embarcadero.com/nickhodges/2008/07/17/39073.

Hinweise für Komponentenentwickler

Registrierungsschlüssel für die Komponenteninstallation

Wenn Sie VCL-Komponenten für die Weitergabe entwickeln und Ihr Komponenteninstallationsprogramm die Pfadangaben in der Registrierung aktualisiert, damit die Pfade zu Ihren Komponenten einbezogen werden, muss Ihr Installationsprogramm einen weiteren Registrierungsschlüssel in HKEY_LOCAL_MACHINE\Software\Embarcadero\BDS\x.x\Globals aktualisieren.

Fügen Sie den String-Wert ForceEnvOptionsUpdate hinzu (oder ändern Sie ihn, falls er bereits vorhanden ist). Weisen Sie ihm den Wert "1" zu. Wenn dieser Registrierungsschlüssel den Wert "1" hat, wird bei der nächsten Ausführung der IDE die Datei EnvOptions.proj aktualisiert, damit sie die von Ihrem Installationsprogramm hinzugefügten Pfadangaben enthält. Die Datei EnvOptions.proj stellt den Mechanismus bereit, mit dem die neue MSBuild-Build-Engine in der IDE Pfadangaben einbezieht, die auf der Seite Bibliothek - Win32 des Dialogfelds Tools > Optionen aufgeführt sind.

Wenn Ihr Installationsprogramm einen der folgenden Registrierungsschlüssel aktualisiert, sollte auch der Schlüssel Globals\ForceEnvOptionsUpdate hinzugefügt oder aktualisiert werden:

Komponenten zur Entwurfs- und Laufzeit verfügbar machen

Die IDE stellt anhand der beiden folgenden Methoden fest, ob eine Komponente für Win32/Win64/OSX32 verfügbar ist. (Hier bedeutet "verfügbar", dass die Komponente in der Palette angezeigt und von der IDE überprüft wird. Die IDE führt beim Compilieren lediglich eine Prüfung auf Vorhandensein der Komponenten-Unit durch.) Die beiden Methoden beziehen sich auf im Win32-Laufzeit-Package (oder im Entwurfszeit- und Laufzeit-Package), das die Komponenten implementiert, eingebettete Daten. Die IDE kann keine Win64- und OSX32-Packages in die IDE laden, daher muss die IDE die benötigten Informationen aus dem Win32-Package verwenden.

Unit-Gültigkeitsbereichsnamen für eigene Komponenten

Unit-Gültigkeitsbereichsnamen sind ein neues Feature im XE2-Release. Normalerweise müssen Komponentenentwickler keinen Unit-Gültigkeitsbereichsnamen für ihre Komponenten bereitstellen, da der hinzugefügte uses-Eintrag automatisch bereichsabhängig ist. Wenn Sie eigene Komponenten entwickeln, können Sie neuen und vorhandenen Projekten Unit-Gültigkeitsbereichsnamen anhand der unten beschriebenen Schritte hinzufügen. Nicht mehr benötigte Unit-Gültigkeitsbereichsnamen können auch entfernt werden.

  1. Suchen Sie nach dem Registrierungsschlüssel HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Library\Bibliotheksname. Dabei steht Bibliotheksname für die unterstützte Zielplattform (Win32, Win64 oder OSX32).
  2. Legen Sie im Bibliotheksverzeichnis für Ihre unterstützte Zielplattform (Bibliotheksname) den folgenden Schlüssel an:
    CompatibilityUnitScopes
  3. Fügen Sie einen String-Wert hinzu:
Der folgende Registrierungsschlüssel fügt drei Kompatibilitäts-Unit-Gültigkeitsbereichsnamen (NewComp, OldComp und MyComp) für den Hersteller MyComponentCompany hinzu:
HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\Library\Win32\CompatibilityUnitScopes\MyComponentCompany\MyComp;NewComp;OldComp

Im Hilfethema Hinzufügen von Unit-Gültigkeitsbereichsnamen für eigene Komponenten wird ein weniger sicheres Verfahren zum Hinzufügen von Unit-Gültigkeitsbereichsnamen zu jedem Projekt unabhängig von dessen Status beschrieben.

Hinweise für Add-ins von Fremdherstellern

Einige Add-ins von Fremdherstellern unterstützen die plattformübergreifende Entwicklung

Eine Zusammenfassung der Unterstützung der plattformübergreifenden Entwicklung durch Add-ins von Fremdherstellern finden Sie unter: Unterstützung der plattformübergreifenden Entwicklung durch Fremdhersteller.

Die OS X-Plattform kann für IntraWeb ausgewählt werden, wird aber nicht unterstützt

Beim Erstellen einer Delphi- oder C++-IntraWeb-Anwendung können Sie in der Projektverwaltung im Knoten Zielplattformen die OS X-Plattform auswählen, aber IntraWeb unterstützt die Entwicklung für die OS X-Plattform nicht.

Hinweise für FastReport

Beachten Sie bei der Verwendung von FastReport mit RAD Studio XE2 Folgendes:

Hinweise für Windows 7 und Windows Vista

Installieren mit Administratorrechten

In Windows Vista müssen Sie zum Durchführen der Installation als Benutzer mit Administratorrechten angemeldet sein, weil das Ändern des Verzeichnisses Programme eine erhöhte Sicherheitsstufe erfordert.

Neustarten des Registrierungs-Clients

Der Registrierungs-Client schlägt gelegentlich unter Windows Vista fehl. Wählen Sie zur Umgehung dieses Problems Dieses Programm zulassen, wenn die Windows Live OneCare Firewall erscheint. Beenden Sie die Registrierung anschließend, und führen Sie sie erneut aus. Wählen Sie nicht Dieses Programm blockieren, weil dies eine spätere Registrierung verhindert.

Der BPL-Standardordner für die x64-Ausgabe wird vom Installationsprogramm nicht angelegt

Der BPL-Standardordner für die x64-Packages ist ein Unterverzeichnis des x86-Ordners. Das Installationsprogramm des Produkts erstellt den x86-BPL-Ordner, aber nicht den Unterordner x64. Das bedeutet, dass Sie für das Compilieren von Win64-Packages Administratorrechte unter Windows 7 besitzen müssen.

Debuggen erfordert Administratorrechte

Wenn unter Vista die Benutzerkontensteuerung (UAC) aktiviert ist, und der Name einer ausführbaren Datei "setup", "update" oder "install" enthält, können Sie das Programm nur debuggen, wenn die IDE unter dem Systemadministratorkonto gestartet wird. Der Versuch, ausführbare Dateien, die diese Zeichenfolgen enthalten, außerhalb der IDE auszuführen, führt zur Anzeige des Dialogfelds Benutzerkontensteuerung, in dem Sie zur Eingabe des Passworts für das Systemadministratorkonto aufgefordert werden. Wenn Sie diese Dateien in der IDE ohne Debugger ausführen, wird eine Fehlermeldung darüber angezeigt, dass für das Programm eine höhere Berechtigung erforderlich ist. Das Ausführen dieser Dateien in der IDE mit dem Debugger erzeugt einen Prozesserstellungsfehler. Weitere Informationen finden Sie unter http://blogs.msdn.com/uac/archive/2006/01/13/512776.aspx.

TAnimate erfordert TShellResources

Wenn Sie in Windows Vista oder in Windows 7 die Komponente TAnimate verwenden, müssen Sie Ihrem Projekt auch die Komponente TShellResources (aus der Registerkarte Win32 der Tool-Palette) hinzufügen. TShellResources fügt die folgenden Ressourcen hinzu:

Neukonfiguration der BDE (veraltet)

Wenn Sie die veraltete BDE noch unter Windows Vista oder Windows 7 verwenden, müssen Sie sie neu konfigurieren, damit die BDE nicht versucht, Dateien in das C:\<Stamm>-Verzeichnis zu schreiben. Melden Sie sich als Administrator an, und führen Sie die Datei BDEAdmin.exe aus (Programme\Gemeinsame Dateien\Borland Shared\BDE. Klicken Sie unter Native auf PARADOX, und ändern Sie den Parameter NET DIR so, dass er nicht auf das Stammverzeichnis zeigt. Sie könnten beispielsweise als Ziel C:\Benutzer\Öffentlich\Öffentliche Dokumente\RAD Studio angeben.

Manifest-Problem

Wenn Sie einer .EXE- oder .DLL-Datei in Windows XP Service Pack 2 (SP2) ein Manifest hinzufügen, das die Erweiterung von Windows Vista hat, wird der Computer möglicherweise neu gestartet. Weitere Informationen zu diesem Problem und dessen Behebung finden Sie unter http://support.microsoft.com/kb/921337.

Auswählen von Dialogfeldern aus Versionen vor Windows Vista

Wenn Sie eine vorhandene VCL-Anwendung, die Standarddialogfeldkomponenten enthält, neu compilieren und auf einem Vista-System ausführen, werden die Vista-Datei- und Task-Dialogfelder anstelle der traditionellen Öffnen-, Speichern- und Meldungsdialogfelder verwendet. Wenn dies nicht erwünscht ist, setzen Sie am Anfang des Programms die globale Variable UseLatestCommonDialogs auf false. Damit wird das ursprüngliche Verhalten hergestellt.

IntraWeb unter Vista

Zum Ausführen und Debuggen von VCL-Webanwendungen (IntraWeb) sollten Sie Windows 2003 oder Windows XP verwenden. Unter Windows Vista müssen Sie beim Debuggen von VCL-Webanwendungen die Benutzerkontensteuerung (UAC) deaktivieren. Weitere Informationen zu IntraWeb, einschließlich Hilfe zu den Komponenten von "VCL for the Web" finden Sie unter http://www.atozed.com/intraweb/docs/.

WinHelp wird nicht unterstützt

Windows Vista unterstützt den veralteten WinHelp-Hilfe-Viewer (WinHelp.exe) nicht. Sie sollten Ihr Hilfesystem nach HtmlHelp migrieren. Wenn Sie .HLP-Dateien verwenden möchten, fügen Sie der uses-Liste aller in die Anwendung einbezogenen Unit-Dateien den Viewer WinHelp32.exe hinzu, und laden den WinHelp32-Viewer von der Microsoft-Website http://www.microsoft.com/downloads/details.aspx?FamilyID=6ebcfad9-d3f5-4365-8070-334cd175d4bb herunter.

Hinweise für Delphi

Das Compilieren großer Projektgruppen kann aufgrund von Speichermangel fehlschlagen

Sie können dieses Problem umgehen, indem Sie die Projektgruppe schließen, sie anschließend in der Projektverwaltung öffnen, mit der rechten Maustaste auf das "fehlgeschlagene" Projekt in der Gruppe klicken und im Kontextmenü Ab hier | Erzeugen wählen. Die verbleibenden Projekte sollten dann erfolgreich compiliert werden.

Wenn das Projekt aus .exe-Dateien besteht (nicht aus Packages), können Sie das Erzeugen auch mit Laufzeit-Packages versuchen. Gehen Sie dazu folgendermaßen vor:

  1. Wechseln Sie zu Projekt > Optionen > Laufzeit-Packages.
  2. Aktivieren Sie die Option Mit Laufzeit-Packages linken.
  3. Klicken Sie auf das Feld für Laufzeit-Packages und anschließend auf die Ellipsen-Schaltfläche [...].
  4. Fügen Sie unter Laufzeit-Packages der Liste der Laufzeit-Packages den Eintrag rtl hinzu:
    1. Geben Sie in das Feld in der Mitte rtl ein.
    2. Klicken Sie auf Hinzufügen.
  5. Klicken Sie auf OK.

.hpp-Header-Dateien

Seit der Version XE gibt der Delphi-Compiler standardmäßig .hpp-Header-Dateien aus. Dies ist eine Änderung gegenüber Versionen vor XE. Wenn Sie beispielsweise eine DLL anhand des Ordinalwertes importieren möchten, gibt der Compiler die Fehlermeldung "E1025 Sprachfunktion wird nicht unterstützt" aus, weil das Erzeugen von .hpp-Dateien nicht mit dem Importieren einer DLL per Ordinalwert kompatibel ist. Sie können aber eine DLL per Ordinalwert importieren, wenn Sie die .hpp-Erzeugung deaktivieren. Wählen Sie auf der Seite Projekt > Optionen > Ausgabe - C/C++ für die Option Erzeugung der C/C++-Ausgabedatei einen Wert aus, der keine Header beinhaltet, z.B. Nur DCUs erzeugen.

Hinweise für C++Builder

Das Hinzufügen von DYLIBs ist für das dynamische Linken von C++-FireMonkey-Anwendungen für OS X erforderlich

Bei C++-OSX-Anwendungen, die Packages verwenden, ist die Bereitstellung der Laufzeit-Packages möglicherweise unvollständig. Einige Packages müssen evtl. manuell weitergegeben werden. Dies betrifft auch Packages, die implizit von den Laufzeit-Packages des Projekts benötigt werden, aber in der Liste der Laufzeit-Packages (unter Projekt > Optionen > Laufzeit-Packages) nicht angezeigt werden. Fügen Sie zur Lösung dieses Problems alle erforderlichen DYLIBs mit dem Bereitstellungs-Manager hinzu.

C++-Konsolenanwendungen, die mit der Delphi-RTL gelinkt werden müssen

Beim Erstellen einer C++-Konsolenanwendung ohne ausgewähltes Framework kann die Konsolenanwendung weder mit der Delphi-Laufzeitbibliothek gelinkt werden noch Delphi-Exceptions behandeln. Wenn Sie dieser Konsolenanwendung eine Unit hinzufügen, fügt die IDE die entsprechenden Delphi-Laufzeitbibliotheken hinzu, wechselt aber nicht zu den Versionen der C++-Laufzeitbibliotheken, die für die Arbeit mit Delphi initialisiert sind. Aktivieren Sie zur Lösung dieses Problems auf der Seite Projekt > Optionen > C++-Linker die Option Mit Delphi-Laufzeitbibliothek linken.

System.UnicodeString.t_str() ist jetzt veraltet

Unabhängig von der aktuellen Einstellung der Option _TCHAR-Zuordnung gibt die Funktion UnicodeString.t_str() gibt jetzt immer wchar_t* zurück.

Diese Änderung hat keine Auswirkung, wenn Sie _TCHAR-Zuordnung = wchar_t verwenden. In den letzten Releases gab t_str() entweder const char* (wenn _TCHAR zu char zugeordnet war) oder const wchar_t* (wenn _TCHAR zu wchar_t zugeordnet war) zurück. Wenn _TCHAR-Zuordnung auf char gesetzt ist, können Sie dem Ergebnis der Funktion t_str() nur etwas zuweisen, das wchar_t unterstützt (ansonsten wird ein Compiler-Fehler ausgegeben).

Konvertieren Sie den Code für die Verwendung von char-Werten folgendermaßen:

Vor XE: mystr.t_str()

Für XE und XE2: AnsiString(mystr).c_str()

Festlegen von WebSnap-Verzeichnissen

Wenn Sie C++Builder mit WebSnap verwenden, müssen Sie sicherstellen, dass die ausführbaren Dateien in demselben Verzeichnis wie die HTML-Dateien gespeichert werden. Geben Sie unter Projekt > Optionen > Verzeichnisse und Bedingungen > Verzeichnis für endgültige Ausgabe einen Punkt (".") ein, damit die ausführbare Datei im Projektverzeichnis gespeichert wird.

Beheben von Problemen mit der Programmierhilfe

Gelegentlich schlägt Code Insight für C++ fehl oder liefert beim Neuerzeugen eines vorcompilierten Projekt-Headers unvollständige Ergebnisse. Sie können dieses Problem folgendermaßen beheben:

Verwenden der Delphi-Tools DesignIntf und DesignEditors

Zum Erstellen eines C++-Package mit einer Delphi-Unit, die die Tools DesignIntf und DesignEditors verwendet, müssen Sie Projekt > Optionen > Delphi-Compiler > Weitere Optionen wählen. Fügen Sie unter Diese Packages beim Compilieren verwenden dem Kombinationsfeld die Option DesignIDE hinzu.

Hinweise für Datenbanken

Der FireMonkey-Client erfordert ein spezielles Vorgehen zur Unterstützung des DataSnap-REST-Client-Proxy

DataSnap- oder Cloud-Clients für C++/OS X werden beim Erzeugen mit Laufzeit-Packages nicht gelinkt. Fügen Sie zur Lösung dieses Problems der Liste der Laufzeit-Packages CustomIPTransport hinzu (wählen Sie Projekt > Optionen > Packages > Laufzeit-Packages).

Unicode und Treiber

Die folgenden Datenbanktreiber sind nicht Unicode-fähig:

Verbindungsfehler

Wenn Sie eine Datenbankanwendung von Delphi 2007 auf Delphi XE2 aktualisieren, könnte die Verbindung fehlschlagen. Fügen Sie zur Lösung dieses Problems der uses-Klausel DBX<Datenbankname> hinzu. Wenn Sie beispielsweise mit einer TSQLConnection-Komponente eine Verbindung zu einer Oracle-Datenbank herstellen, müssen Sie der uses-Klausel DBXOracle hinzufügen.

Die folgenden Kombinationen wurden getestet:

LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 4.0.XX Server
LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 4.0.XX Server
LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 5.0.XX Server
LibMySQL.dll (5.1.XX) DBXMys.dll MySQL 5.1.XX Server

Treiberkonflikte bei mehreren installierten Versionen

Wenn eine frühere Version des Produkts installiert ist, und Sie versuchen, die ältere Version zu verwenden, könnte die IDE die Treiber dieses Release laden, weil das Verzeichnis \bin am Anfang des Systempfads steht. Eine Möglichkeit zur Verwendung der älteren Treiber ist, die Pfadangabe auf der Seite Tools > Optionen > Umgebungsvariablen zu überschreiben und das alte bin-Verzeichnis an den Anfang des Pfades zu setzen.

Unterstützte Server

dbExpress

* Der Treiber ist für diese Datenbankversion nicht vollständig zertifiziert.

Hinweise zum Debugger

Debug-Informationen durch Hinzufügen von .dcp-Dateien zur Anwendungsbereitstellung

Wenn Ihre Delphi-Anwendung mit Laufzeit-Packages gelinkt wird, werden die erwarteten Debug-Informationen evtl. nicht erzeugt. Dies trifft für Mac OS X-Anwendungen und für Remote-Win64- oder Remote-Win32-Anwendungen zu. Fügen Sie zur Lösung dieses Problems mit dem Bereitstellungs-Manager die .dcp-Dateien hinzu, die den Laufzeit-Packages in der Laufzeit-Packages-Liste entsprechen. Wenn Sie beispielsweise die RTL verwenden, müssen Sie die Datei rtl.dcp bereitstellen.

Verwenden Sie die .dcp-Dateien aus den Verzeichnissen Embarcadero\Rad Studio\9.0\lib wie folgt:

Bei Delphi-FMX-HD-Anwendungen für OS X kann ein Fehler auftreten

Der Delphi-Fehler E2213 ("Falsches gepacktes Unit-Format") kann beim Erzeugen einer Delphi-FireMonkey-HD-Anwendung für OS X auftreten, für die die Optionen Mit Laufzeit-Packages linken und Mit Debug-DCUs aktiviert sind. Wenn Sie diese Projekt > Optionen einzeln und in der angegebenen Reihenfolge aktivieren und nach jedem Aktivieren einer Option ein Build erzeugen, schlägt das Build nach dem Aktivieren von Mit Debug-DCUs fehl. Speichern Sie zur Lösung dieses Problems das Projekt, schließen Sie alles, und öffnen Sie dann das Projekt erneut. Das Build sollte nun erfolgreich erstellt werden.

Unerwartete Ergebnisse bei Exceptions auf Mac OS X

Auf Mac OS X werden bestimmte Exceptions des Betriebssystems über die Laufzeitbibliothek Delphi-Exceptions zugeordnet. Dies betrifft die Mach-Exceptions EXC_BAD_ACCESS, EXEC_ARITHMETIC und EXC_BAD_INSTRUCTION sowie die entsprechenden Unix-Signale. Diese Zuordnung ist nicht mit dem Debugger kompatibel und wird deaktiviert, wenn ein Prozess zum Debuggen erstellt wird. Wenn diese Exceptions ausgelöst werden, zeigt der Debugger eine Meldung an. Programme, die darauf angewiesen sind, dass diese Exceptions abgefangen werden, können bei der Ausführung im Debugger unerwartetes Verhalten zeigen.

Meldungen auf dem Mac nach Abstürzen

Wenn eine OS X-Anwendung unbehandelte Exceptions enthält, zeigt der Debugger eine Exception-Benachrichtigung mit der Möglichkeit zum Anhalten, Fortsetzen oder Ignorieren an. Wenn Sie das Debuggen fortsetzen und auf dem Ziel-Mac Xcode installiert ist, meldet der Mac einen unerwarteten Abbruch und bietet die Möglichkeit, einen Bericht an Apple zu senden. Sie können diese Warnmeldung auf der Seite CrashReporterPrefs unter Developer/Applications/Utilities deaktivieren. Durch Klicken auf die Schalfläche Server kann der unbeaufsichtigte Modus aktiviert werden.

Datenhaltepunkte im Quelltext

Das Einfügen eines Datenhaltepunkts in den Quelltext könnte zu einem Fehlverhalten des Programms führen. Wenn Sie beispielsweise einen Datenhaltepunkt für einen VMT-Slot definieren, erfolgt u.U. ein Sprung zu einer falschen Position (das "letzte" Byte der Adresse wird mit 0xcc überschrieben).

Probleme nach Auswahl von "Start > Vom Programm trennen"

Nachdem in einer Debug-Sitzung Start > Vom Programm trennen gewählt wurde, kann die IDE beim Start einer weiteren Debug-Sitzung einfrieren.

System Mechanic 7 Pro ist mit dem Debugger inkompatibel

System Mechanic 7 Pro deaktiviert die Funktionalität des integrierten Debuggers. Der Debugger wird dadurch sofort beendet, und in der Ansicht Ereignisprotokoll wird eine Diagnosemeldung angezeigt. Die Debugger-Funktionalität kann wiederhergestellt werden, indem die Ausführung des "iolo DMV Service" über den Dienste-Manager deaktiviert wird.

Hinweise zur Internationalisierung

Migration von ITE/ETM-Projekten aus Delphi 7

Für ein Upgrade eines ITE/ETM-Projekts aus Delphi 7 müssen die DFM-Dateien im Textformat vorliegen. Verwenden Sie für die Konvertierung die Datei convert.exe (wird standardmäßig im Verzeichnis C:\Programme\Embarcadero\RAD Studio\8.0\bin installiert).

Nachdem Sie das Projekt importiert und die Ressourcen-DLL mit dem Ressourcen-DLL-Experten aktualisiert haben, kann es vorkommen, dass die Ressourcen-DLL nicht aktualisiert wurde. Führen Sie in diesem Fall die Aktualisierung einfach noch einmal mit dem Experten aus.

Verwenden der Benutzer-Gebietseinstellung als UI-Gebietseinstellung

Es wird nicht empfohlen, Ihre Benutzer-Gebietseinstellung für die UI-Gebietseinstellung zu verwenden. Die Benutzer-Gebietseinstellung steuert das Format von Zahlen, Datums- und Zeitangaben. Die UI-Gebietseinstellung steuert Menüs, Fehlermeldungen und den gesamten lesbaren Text für die jeweilige Sprache.

VCL/RTL und Gebietseinstellung

Die VCL/RTL wählt dasselbe lokalisierte Modul aus, das auch Windows verwendet. Wenn Sie mit der Benutzer-Gebietseinstellung das UI-Modul auswählen möchten, erstellen Sie eine neue Unit, OverrideUIWithUserLocale.pas, und fügen den folgenden Code ein:

 
             unit OverrideUIWithUserLocale;
             interface
             implementation
               uses Windows;
             initialization
               SetLocaleOverride(GetUILanguages(GetThreadLocale));
             end.

Fügen Sie dem uses-Abschnitt diese Unit OverrideUIWithUserLocale als ersten Eintrag hinzu:

 
            program Project1;
            uses
              OverrideUIWithUserLocale,
              Forms,
              Unit1 in 'Unit1.pas' {Form1};

Hinweise für FireMonkey

FireMonkey benötigt den eingebetteten Designer

FireMonkey unterstützt nur den eingebetteten Formular-Designer. Wenn in der IDE nicht der eingebettete Designer verwendet wird (d.h. Tools > Optionen > Umgebungsoptionen > VCL-Designer > Eingebetteter Designer ist deaktiviert), werden FireMonkey-Formular-Units von FireMonkey-Projekten wie normale Delphi-Units geöffnet. Ein Zugriff auf den Formular-Designer ist nicht möglich. Für die Verwendung des Formular-Designers müssen Sie die Option Eingebetteter Designer aktivieren und die IDE neu starten.

Erforderliche Dateien fehlen (IPIndyImpl.dcp und inetdbexpress.dcp)

Für Delphi FireMonkey-Anwendungen mit Win64 und OS X als Zielplattformen könnten fehlende Dateien gemeldet werden. IPIndyImpl.dcp (wird von CloudService.dcp verwendet) fehlt für die Plattformen Win64 und OS X, und inetdbxpress.dcp fehlt im Verzeichnis win64\release. Sie können diese Dateien als .zip-Datei unter http://cc.embarcadero.com/item/28484 herunterladen.

TViewport3D muss in einer 2D-Umgebung vorhanden sein

Das Hinzufügen von 3D-Komponenten zu einem TViewport3D-Objekt, das keinem HD-Formular oder TLayer3D-Objekt untergeordnet ist, führt zu einer Zugriffsverletzung.

Das Ereignis TListBox.OnChange unterstützt die Eigenschaft "Selected" nicht

Das Ereignis OnChange für Fmx.ListBox.TListBox erzeugt eine Zugriffsverletzung, wenn die Prozedur die Eigenschaft TListBox.Selected verwendet.

Asiatische Zeichen werden evtl. nicht korrekt angezeigt

Eine im Debugger ausgeführte FireMonkey-Anwendung für OS X mit europäischem Gebietsschema zeigt asiatische Zeichen nicht korrekt an. Beispielsweise könnten japanische/chinesische Zeichen in allen Komponenten inkorrekt dargestellt werden, wenn die Gebietseinstellung des Systems nicht "Englisch" oder "Japanisch" ist. Wenn die Anwendung allerdings vom Finder aufgerufen wird, können die asiatischen Zeichen korrekt angezeigt werden.

Fügen Sie zur Lösung dieses Problems die folgende Zeile am Anfang des Shell-Skripts paserver.command ein:

 
  export LANG=C

Das Skript paserver.command befindet sich normalerweise im Ordner /users/Benutzername/Applications/Embarcadero/PAServer.

Das Dialogfeld zur Gitterbearbeitung wird durch Drücken von ESC geschlossen

Wenn Sie während der Bearbeitung eines Gitters in einem modalen Formular (d.h. Sie geben Text in eine Zelle des Gitters ein) die Taste ESC drücken, wird das Dialogfeld möglicherweise geschlossen.

Einige FMX-Anwendungen für OS X beziehen fälschlicherweise Windows-Elemente ein

Eine FMX-HD-Anwendung für OS X, die ein TXMLDocument-Objekt enthält, kann nicht compiliert werden. TXMLDocument erwartet Xml.Win.msxmldom.dcu (Delphi) oder Xml.Win.msxmldom.hpp (C++), beide können nur für Windows verwendet werden.

Eine FMX-Anwendung für OS X, die ein TTcpClient-Objekt enthält, kann nicht compiliert werden. TTcpClient erwartet Web.Win.Sockets.dcu (Delphi) oder Web.Win.Sockets.hpp (C++), beide können nur für Windows verwendet werden.

Fehlende Indy-Klasse TIdAntiFreeze im FireMonkey-Designer

Die Indy-Klasse TIdAntiFreeze steht für FMX-Anwendungen nicht als Entwurfszeitkomponente zur Verfügung. Sie können dieses Problem umgehen, indem Sie Ihrer uses-Klausel FMX.IdAntiFreeze hinzufügen und die Klasse programmgesteuert instantiieren.

Hinweise zur VCL/RTL

VCL-Stile wurden für VCL-Anwendungen eingeführt

Öffnen Sie zum Hinzufügen eines benutzerdefinierten Stils zu einer VCL-Anwendung das Dialogfeld Projekt > Optionen > Anwendung > Erscheinungsbild. Im XE2-Release werden keine Stile für Ribbon-Steuerelemente unterstützt.

VCL-Stile und Formularrahmen

Bei Verwendung des Rahmenstils (BorderStyle) bsDialog, bsSingle oder bsToolWindow verschiebt sich der rechte Fensterrahmen in den Client-Bereich.

Popup-Formular wird in Anwendungen mit Stilen unerwartet geschlossen

In Anwendungen, die Stile verwenden, funktioniert Form.Close nicht immer, sodass Popup-Formulare möglicherweise beim Verlieren des Fokus geschlossen werden.

SetThreadAffinityMask unterstützt 64 Bit nicht

Die RTL-Funktion Win.Winapi.Windows.SetThreadAffinityMask unterstützt die Bereitstellung für 64-Bit-Windows nicht. Deklarieren Sie zur Lösung des Problems eine eigene Version von SetThreadAffinityMask. Weitere Informationen finden Sie unter http://msdn.microsoft.com/en-us/library/ms686247 .

Laufzeit-Themes und TImageList.ColorDepth

Wenn Sie die Eigenschaft TImageList.ColorDepth auf cd32Bit setzen und die ImageList transparente Bilder enthält, müssen Sie Laufzeit-Themes aktivieren, damit die Bilder korrekt auf den Steuerelementen angezeigt werden. Wählen Sie in der IDE Projekt > Optionen > Anwendung.

Fügen Sie DataSnap.Midas.dcu hinzu, wenn Sie das VCL-Dialogfeld "Fehler beheben" oder TSimpleDataSet verwenden

Ein VCL-Projekt, das das VCL-Dialogfeld "Fehler beheben" oder die TSimpleDataSet-Komponente enthält, wird ohne Hinzufügen von DataSnap.Midas.dcu nicht compiliert. Die Datei DataSnap.Midas.dcu befindet sich in Ihrem Installationsverzeichnis unter \lib\Plattform. Plattform ist dabei win32, win64 oder osx32.

Unicode-Problem in ClientDataSet.SaveToFile im XML-Format

Wenn in String- oder Memofeldern internationale Zeichen verwendet werden, könnte TCustomClientDataSet.SaveToFile im XML-Format inkorrekte Daten erzeugen. Beispielsweise könnten anstelle von Buchstaben mit Akzenten Leerzeichen angezeigt werden.

SizeOf-Problem bei TNotifyIconData

Wegen Änderungen im Windows SDK liefert der Aufruf von SizeOf(TNotifyIconData) in Windows-Versionen vor Windows Vista inkorrekte Ergebnisse. Der Aufruf der Methode TNotifyIconData.SizeOf gibt in allen Windows-Versionen die korrekte Größe zurück.

Hinweise zu ActiveX

64-Bit-Typbibliotheken und -ActiveX-Steuerelemente müssen mit TLIBIMP importiert werden

Der Importexperte (Komponente > Komponente importieren) sucht nur in der 32-Bit-Registrierung. Auf einem 64-Bit-System müssen 64-Bit-Typbibliotheken und 64-Bit-ActiveX-Steuerelemente deshalb direkt mit TLIBIMP importiert werden.

64-Bit-DLLs und -In-Process-Server müssen mit der 64-Bit-Version von TRegSvr registriert werden

Als 32-Bit-Prozess kann die IDE keine 64-Bit-In-Process-Server bzw. 64-Bit-DLL-Server 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. Der Pfad lautet $(BDS)\bin64\TRegSvr.exe.

C++-ActiveX-Bibliotheken müssen die statische RTL und Packages verwenden

Alle C++-ActiveX-Bibliotheken (die ATL oder DAX einsetzen) müssen die statische RTL und Packages verwenden. Wählen Sie Projekt > Optionen und:

Hinweise zum SOAP-Server

Verwendung von SOAP-Komponenten in C++ für OS/X

C++-Anwendungen für OS/X, die die SOAP-Laufzeit (wie z.B. die THTTPRIO-Komponente) verwenden, müssen explizit in das Indy-Package gelinkt werden, da die IDE nur Abhängigkeiten der obersten Ebene erfasst.

Fügen Sie dazu einer .cpp-Datei Ihres Projektes die folgenden Zeilen hinzu:

 
  #if defined(__APPLE__)
   #ifndef USEPACKAGES
    #pragma link "IndyCore.a"
    #pragma link "IndyProtocols.a"
    #pragma link "IndySystem.a"
   #else
    #pragma link "IndyCore.bpi"
    #pragma link "IndyProtocols.bpi"
    #pragma link "IndySystem.bpi"
   #endif
  #endif

Ein alternativer Pfad zum Aufrufen des WSDL-Imports

Wenn Sie den Experten für den WSDL-Import über Datei > Neu > Weitere > WebServices > WSDL-Import aufrufen und einen ungültigen URL eingeben, können Fehlermeldungen wie die folgenden ausgegeben werden:

Rufen Sie in diesem Fall den Experten für den WSDL-Import über Komponente > WSDL importieren auf. Der Fehler sollte dann im Experten abgefangen werden.

.NET SOAP-Dienste sind mit Delphi Prism verfügbar

Die Unterstützung für den Win32 SOAP-Server erzeugt die älteren im RPC-Stil codierten Webdienste. Wenn Sie einen Dokument-/Literaldienst oder einen Dienst in einem anderen WS-I-konformen Stil haben möchten, sollten Sie Ihren SOAP-Server mit Delphi Prism erzeugen. Delphi Prism unterstützt die SOAP-Spezifikationen, einschließlich WS-I-konformer Stile, die vom .NET-Framework unterstützt werden.

Hinweise zur Modellierung

Wenn Sie das Kontextmenü auf der Registerkarte Modellansicht der Projektverwaltung öffnen, ist der Befehl Diagramm öffnen möglicherweise nicht aktiviert. Sie können die Diagrammansicht aber durch Doppelklicken auf den abgedunkelten Befehl Diagramm öffnen öffnen.

Hinweise zur Hilfe

Siehe auch