Release-Hinweise für XE2 Update 4
Nach oben zu Neuerungen in Delphi und C++Builder XE2
Diese Datei enthält wichtige ergänzende Informationen, die möglicherweise nicht in der Hauptdokumentation zu dem Produkt vorhanden sind. Embarcadero Technologies empfiehlt Ihnen, diese Datei vollständig durchzulesen.
In diesem Dokument wird der Begriff "das Produkt" verwendet, wenn sich die Informationen auf RAD Studio XE2 oder auf eine oder beide Personalities, Delphi XE2 und C++Builder XE2, beziehen.
Allgemeine Informationen zur Installation, zum Deployment und zur Lizenzierung finden Sie in den HTML-Dateien "Install", "Deploy" und "License", die sich standardmäßig im Ordner C:\Programme\Embarcadero\RAD Studio\9.0 befinden. Auf 64-Bit-Windows-Systemen lautet der Verzeichnisname C:\Programme (x86)\Embarcadero\RAD Studio\9.0.
Installation dieses Updates
Delphi und C++Builder XE2 Update 4 ist ein vollständiges Inline-Update, zu dessen Installation Sie Ihr vorhandenes RAD Studio-Produkt deinstallieren müssen.
Sie erhalten das Update über eine der drei folgenden Möglichkeiten:
- Upgrade über die automatische Upgrade-Funktion
- Manuelle Suche nach Updates
- Download von der Webseite für registrierte Benutzer
Verwenden der automatischen Upgrade-Funktion oder manuelle Suche nach Updates
- Wenn Sie bei der Installation des Produkts Automatisch nach Aktualisierungen suchen ausgewählt haben, werden Sie automatisch informiert, wenn ein Update zum Download bereitsteht.
- Klicken Sie auf die Benachrichtigung, um das Installationsprogramm des Updates zu starten.
- Befolgen Sie die Anweisungen des Installationsprogramms.
- Führen Sie nach Abschluss der Installation die unter #Weitere Installationsschritte beschriebenen Schritte aus.
- Wenn Sie keine automatische Benachrichtigung über Updates erhalten (oder wann immer Sie wollen), können Sie manuell danach suchen:
- Wählen Sie dazu Start | Alle Programme | Embarcadero RAD Studio XE2 | Suchen von Aktualisierungen.
- Wählen Sie Update 4 aus der Liste der verfügbaren Updates aus. Dadurch wird das Installationsprogramm gestartet.
- Befolgen Sie die Anweisungen des Installationsprogramms.
- Führen Sie nach Abschluss der Installation die unter #Weitere Installationsschritte beschriebenen Schritte aus.
Download von der Webseite für registrierte Benutzer
Das Update 4 steht für registrierte Benutzer auch auf den folgenden Seiten bereit:
- Delphi XE2: http://cc.embarcadero.com/reg/delphi
- C++Builder XE2: http://cc.embarcadero.com/reg/c_builder
- RAD Studio XE2: http://cc.embarcadero.com/reg/rad_studio
- Laden Sie das Update auf Ihren Computer herunter, und extrahieren Sie die Zip-Datei.
- Deinstallieren Sie das Produkt. Eine Anleitung dazu finden Sie unter Installationshinweise für XE2#Deinstallation des Produkts.
- Installieren Sie das Update durch Doppelklicken auf das Installationsprogramm.
Führen Sie dann zum Installieren des Updates die unter #Weitere Installationsschritte beschriebenen Schritte aus.
Weitere Installationsschritte
Nach dem in den vorherigen Abschnitten beschriebenen Herunterladen und Installieren des Updates sollten Sie den Platform Assistant und die FireMonkey iOS-Tools (anhand der folgenden Schritte) aktualisieren, wenn Sie plattformübergreifende Entwicklungen durchführen oder FireMonkey für iOS verwenden:
1. Installieren des Updates für "Platform Assistant"
Wenn Sie mit dem "Platform Assistant" plattformübergreifende Anwendungen entwickeln, müssen Sie nach der Installation des Update 4 den "Platform Assistant" deinstallieren und dann den aktualisierten "Platform Assistant" folgendermaßen installieren:
- So deinstallieren Sie den "Platform Assistant":
- Unter Windows: Deinstallieren Sie den Platform Assistant mit der vorhandenen Datei Uninstall PAServer.exe.
- Auf dem Mac: Deinstallieren Sie den Platform Assistant mit dem vorhandenen Befehl Uninstall.
- Hinweis: Die Uninstall-Programme befinden sich auf dem PC und dem Mac im Installationsverzeichnis von Platform Assistant.
- So installieren Sie den aktualisierten "Platform Assistant" auf den Zielplattformen:
- Unter Windows: Doppelklicken Sie auf PAServer.exe.
- Auf dem Mac: Verschieben Sie die Datei PAServer.zip auf den Mac, und doppelklicken Sie auf PAServer.zip.
Weitere Informationen finden Sie unter Installieren und Ausführen des "Platform Assistant" (paserver) auf der Zielplattform.
2. Installieren Sie die FireMonkey iOS-Tools erneut
Wenn Sie FireMonkey iOS-Tools auf dem Mac verwenden, müssen Sie auch das Package FireMonkey-iOS-XE2.pkg folgendermaßen neu installieren:
- Übertragen Sie die Disk-Image-Datei FireMonkey-iOS.dmg auf den Mac. (FireMonkey-iOS.dmg befindet sich im obersten "FireMonkey-iOS"-Ordner des Produktinstallationsverzeichnisses.)
- Doppelklicken Sie auf dem Mac auf FireMonkey-iOS.dmg.
- Führen Sie das Installationsprogramm in jedem Package aus.
Für die FireMonkey iOS-Tools ist keine Deinstallation erforderlich. Wenn Sie die FireMonkey iOS-Tools bereits installiert hatten, können Sie das neue Installationsprogramm (FireMonkey-iOS.dmg), das Bestandteil dieses Updates ist, ohne vorherige Deinstallation ausführen.
Hinweise:
- Das FireMonkey-iOS-Installationsprogramm ist mit Xcode 4.2 kompatibel.
- Obwohl Xcode 4.2 den iOS 5.0 SDK enthält, werden die neuen Funktionen von iOS 5 nicht unterstützt. FireMonkey-Anwendungen können aber auf Geräten mit iOS 5 bereitgestellt werden.
- Das FireMonkey-iOS-Installationsprogramm schlägt fehl, wenn Xcode 4.3/iOS 5.1 (Beta) auf dem Mac installiert ist.
Weitere Informationen zu FireMonkey iOS finden Sie unter:
- Installationshinweise für XE2#Voraussetzungen für FireMonkey iOS
- Plattformvoraussetzungen für FireMonkey
- Konfiguration von FireMonkey für die iOS-Entwicklung
- Erstellen einer FireMonkey iOS-App
Deinstallation dieses Updates
Um dieses Update zu deinstallieren, müssen Sie das gesamte Produkt deinstallieren und das vollständige Build erneut installieren. Es ist nicht möglich, nur das Update zu deinstallieren.
Allgemeine Hinweise
Fehlerliste
Eine vollständige Liste der in diesem Update behobenen Probleme finden Sie in "Liste der Korrekturen im Update 4 für Delphi und C++Builder XE2" unter: http://edn.embarcadero.com/article/42090/
Änderungen und neue Funktionen im XE2 Update 4
Dieses Update enthält die folgenden neuen und geänderten Funktionen:
- FireMonkey-Änderungen für OS X:
- Die Unterstützung für das Drucken wurde hinzugefügt.
- Die Leistung der folgenden Elemente wurde optimiert:
- FMX.Edit.TEdit
- FMX.Memo.TMemo
- FMX.Memo.TMemo.Text ist jetzt als public deklariert (war früher "published").
- Für die Bearbeitung von Text in einem TMemo während des Entwurfs sollten Sie jetzt FMX.Memo.TMemo.Lines verwenden.
- Schattierer
- Das Laden von Formularen aus einer DLL wird jetzt unterstützt.
- Weitere Informationen finden Sie unter Bibliotheken und Packages und Plattformübergreifende gemeinsame Bibliotheken.
- FireMonkey-Änderungen für iOS:
- Die Unterstützung für Free Pascal Version 2.6.0 wurde hinzugefügt.
- Weitere Informationen finden Sie unter Konfiguration von FireMonkey für die iOS-Entwicklung#Installieren der FireMonkey-iOS-Tools auf dem Mac.
- Das Bildlaufverhalten wurde verbessert.
- Die Unterstützung für Free Pascal Version 2.6.0 wurde hinzugefügt.
- Für den Zugriff auf globale Variablen in ASM-Code auf OS X ist eine Lösung verfügbar.
- Weitere Informationen finden Sie unter Zugreifen auf globale Variablen in ASM auf Windows und OS X).
Interface-Änderungen im Update 4
Interface-Änderungen für FireMonkey: Die folgenden Änderungen wurden für das Update 4 in FireMonkey vorgenommen.
Hinzugefügte oder geänderte Typen und Methoden
FMX.Colors:
- TColorQuad.GetIsTracking
- TColorQuad.PreviewColor
- TColorQuad.SetColor
- TColorComboBox.GetDefaultStyleLookupName
- TColorListBox.GetDefaultStyleLookupName
- TColorListBox.SetItems
- TComboColorBox.GetDefaultStyleLookupName
- FillChessBoardBrush
FMX.Consts:
- sCannotCreateCircularDependence
- sCantEndPrintJob
- sCantPrintNewPage
- sCantSetNumCopies
- sCantStartPrintJob
- sInvalidPageFormat
- sInvalidPrinterSettings
- sMkcCmd
- SPropertyOutOfRange
- SPrinterDPIChangeError
- SPrinterSettingsReadErro
- SPrinterSettingsWriteError
FMX.Controls:
- TAniIndicator.ApplyStyle
- TAniIndicator.FreeStyle
- TBitmapTrackBar.GetDefaultStyleLookupName
- TCustomTrack.GetThumbSize
FMX.Dialogs:
- TPageSetupDialog.SetPageHeight
- TPageSetupDialog.SetPageWidth
FMX.Edit:
- TComboEditBase
- TComboEdit.Clear
- TComboEdit.MouseWheel
- TComboEdit.GetDefaultStyleLookupName
- TComboEdit.SetText
- TComboTrackBar.GetDefaultStyleLookupName
- TComboTrackBar.DoComboMouseDown
- TCustomEdit.DoChangeTracking
- TCustomEditBox
FMX.Effects:
- TInnerGlowEffect.GetGlowColor
- TInnerGlowEffect.SetGlowColor
- TInnerGlowEffect.SetOpacity
- TInnerGlowEffect.SetSoftness
FMX.ExtCtrls:
- TCalendarBox.GetDefaultStyleLookupName
- TCalendarEdit.GetDefaultStyleLookupName
- TImageViewer.GetDefaultStyleLookupName
FMX.FilterCatStyle:
- TGlowFilter
- TInnerGlowFilter
- TReflectionFilter
FMX.Grid:
- TColumn.SetVisible
- TColumn.TextChangeProc
- TColumn.TextTypingProc
- TCustomGrid.DoSelChanged
- TCustomGrid.GetVisibleColumnCount
- TCustomGrid.SetTopRow
FMX.Layers3D:
- TImage3D.SetBitmap
FMX.Layouts:
- TScrollBox.CreateHScrollTrackAni
- TScrollBox.CreateVScrollTrackAni
- TScrollBox.Center
FMX.Memo:
- TMemo.DefineProperties
- TMemo.DoContentPaintWithCache
- TMemo.HScrollChange
- TMemo.ReadTextData
- TMemo.ResetLineWidthCache
FMX.Menus:
- TextToShortcut
- TPopupMenu.DialogKey
FMX.Objects3D:
- TDisk
- TCone.RebuildMesh
- TCone.SetSubdivisionsAxes
- TCone.SetSubdivisionsCap
- TCone.SetSubdivisionsHeight
- TCube.RebuildMesh
- TCube.SetSubdivisionsDepth
- TCube.SetSubdivisionsWidth
- TCube.SetSubdivisionsHeight
- TCylinder.RebuildMesh
- TCylinder.SetSubdivisionsAxes
- TCylinder.SetSubdivisionsCap
- TCylinder.SetSubdivisionsHeight
- TMesh.Render
- TPlane.RebuildMesh
- TPlane.SetSubdivisions.Height
- TPlane.SetSubdivisions.Width
- TSphere.RebuildMesh
- TSphere.SetSubdivisionsAxes
- TSphere.SetSubdivisionsHeight
- EPrinterSettingsError
- TPrinterDevice.Destroy
- TPrinterDevice.DPIChangeError
- TPrinterDevice.GetActiveDPI
- TPrinterDevice.GetDPI
- TPrinterDevice.GetDPICount
- TPrinterDevice.SelectDPI
- TPrinterDeivce.SetActiveDPIIndex
FMX.Printer.Win:
- TPrinterWin-Destruktor
- TPrinterWin.RefreshActivePrinter
- TPrinterWin.SetCanvasDefaultSettings
FMX.Types:
- CreateScaleMatrix
- CreateTranslateMatrix
- MergeObjectFromStream
- TBrushBitmap.DoChanged
- TControl.GetAcceptsControls
- TControl.SetAcceptsControls
- TStyleBook.LoadFromFile
- PClipRects
- TClipRects
- TCanvas.BeginScene
- TCanvas.DoBeginScene
- TCanvas.DoEndScene
- TFmxObject.IsChildren
- TStyledControl.GetDefaultStyleLookupName
FMX.Types3D:
- ColorToVector3D
- CreateTranslateMatrix3D
- DefaultAmbient
- DefaultDiffuse
- DefaultSpecular
- MaxLights
- TContext3D.AssignTo
- TContext3D.DoBeginScene
- TContext3D.DoEndScene
- TContext3D.AddLight
- TContext3D.CreateBuffer
- TContext3D.CreateDefaultShader
- TContext3D.DeleteLight
- TContext3D.FreeBuffer
- TContext3D.FreeDefaultShader
- TContext3D.GetPixelToPixelPolygonOffset
- TContext3D.SetMatrix
- TContext3D.SetParams
- TControl3D.GetAcceptsControls
- TControl3D.SetAcceptsControls
- TLight.SetAmbient
- TLight.SetConstantAttenuation
- TLight.SetDiffuse
- TLight.SetLinearAttenuation
- TLight.SetQuadradicAttenuation
- TLight.SetSpecular
- TLight.SetSpotCutOff
- TLight.SetSpotExponent
- TMaterial.SetShininess
- TMeshData.Clear
- TTextureFiltering
- TMaterial.SetTextureFiltering
Entfernte Typen und Methoden
FMX.Dialogs:
- TCommonDialog.FHelpMsg
FMX.Edit:
- TComboEdit.MouseDown
- TComboTrackBar.MouseDown
- TNumberBox.Destroy
- TNumberBox.Change
- TNumberBox.GetData
- TNumberBox.KeyDown
- TNumberBox.Paint
- TNumberBox.SetNumValueType
- TNumberBox.SetData
- TNumberBox.SetDecimalDigits
- TNumberBox.SetMax
- TNumberBox.SetMin
- TSpinBox.Destroy
- TSpinBox.Change
- TSpinBox.GetData
- TSpinBox.KeyDown
- TSpinBox.SetNumValueType
- TSpinBox.SetData
- TSpinBox.SetDecimalDigits
- TSpinBox.SetMax
- TSpinBox.SetMin
FMX.ExtCtrls:
- TCalendarEdit.MouseDown
FMX.Forms:
- TCustomForm3D.AddLight
- TCustomForm3D.ApplyLights
- TCustomForm3D.DeleteLight
FMX.Objects3D:
- TCone.Render
- TCylinder.Render
- TPlane.Render
- Destruktor von TPlane
- TRoundCube.Render
- Destruktor von TSphere
- TSphere-Darstellung
FMX.Types3D:
- TViewPort3D.AddLight
- TViewPort3D.ApplyLights
- TViewPort3D.DeleteLight
Sonstige hinzugefügte Methoden
- System.Variants.DispatchUnsignedAsSigned
- Weitere Informationen finden Sie unter Automatisierungsserver und vorzeichenlose Integerwerte.
Neu hinzugefügte VCL-Stile
Dieses Update enthält acht neue VCL-Stile:
- Auric.vsf
- CharcoalDarkSlate.vsf
- CyanDusk.vsf
- CyanNight.vsf
- MetroBlack.vsf
- MetroBlue.vsf
- MetroGreen.vsf
- TurquoiseGray.vsf
VCL-Stile werden normalerweise im Verzeichnis C:\Benutzer\Öffentlich\Öffentliche Dokumente\RAD Studio\9.0\Styles installiert.
Weitere Informationen zu VCL-Stilen finden Sie unter Überblick über VCL-Stile.
TLIBIMP.EXE kann 64-Bit-Typbibliotheken importieren
Von TLIBIMP.EXE stehen jetzt eine 32-Bit- und eine 64-Bit-Version zur Verfügung, wenngleich eine 64-Bit-Anwendung auch eine 32-Bit-Typbibliothek verwenden kann.
Wenn die aktuelle Zielplattform 64-Bit-Windows ist, übergibt die IDE jetzt "-E64" an GenTLB.exe. Das Ergebnis ist eine Typbibliothek, deren Feld SYSKIND den Eintrag SYS_WIN64 enthält (im Vergleich zu SYSKIND=SYS_WIN32 für eine 32-Bit-Typbibliothek).
Wenn Sie eine 64-Bit-Typbibliothek importieren, die von einer anderen nur in den 64-Bit-Schlüsseln der Registrierung registrierten Typbibliothek abhängt, müssen Sie die 64-Bit-Version von TLIBIMP aus dem folgenden Verzeichnis verwenden:
$(bds)\bin64\tlibimp.exe
Weitere Informationen dazu finden Sie unter TLIBIMP.EXE und GenTLB.exe.
Zugreifen auf globale Variablen in ASM auf Windows und OS X
Verwenden Sie die in Zugreifen auf globale Variablen in ASM auf Windows und OS X beschriebenen Verfahren.
Neue C++-Audits
Die folgenden neuen C++-Audits wurden hinzugefügt:
- ASO - Assignment operator
- CIUCFL - Complex Initialization or Update Clause in for Loop
- CIL - Constructor Initialization List
- ANR - Accessing Null Reference
Bekannte Probleme im XE2 Update 4
Verschachtelte try ... finally-Blöcke können in DCCOSX-Anwendungen ein Problem verursachen
In Delphi OS X-Anwendungen können verschachtelte try ... finally-Blöcke in der compilierten Anwendung zur Laufzeit zu einem Absturz führen. Platzieren Sie daher keinen try ... finally-Block in den finally-Abschnitt eines anderen try ... finally-Blocks. Verschieben Sie zur Lösung dieses Problems den inneren try ... finally-Block in eine lokale/native Prozedur.
Beispiel:
program BTS289095; { Nested try...finally crashes application } {$APPTYPE CONSOLE} uses System.SysUtils; var Expected: Integer = 0; Counter: Integer = 0; procedure DoTest1; { SIMPLE CASE } var s: string; begin Writeln('DoTest1'); try raise Exception.Create('#1'); finally s := ''; end; end; procedure DoTest3; { FAILURE OCCURS HERE. INVOLVES NESTED TRY..FINALLY } var S: String; begin Writeln('DoTest3'); try raise Exception.Create('#2'); finally try s := ''; finally end; end; end; procedure DoTest2; { WORKAROUND - NESTED TRY..FINALLY PUT INTO LOCAL PROC } var S: String; procedure Temp; begin try s := ''; finally end; end; begin Writeln('DoTest2'); try raise Exception.Create('#2'); finally Temp; end; end; var Procs: array [0..2] of TProcedure = (DoTest1, DoTest2, DoTest3); procedure DoBTS289095; var Proc: TProcedure; begin for Proc in Procs do begin Inc(Expected); try Proc; WriteLn('FAIL - Exception Expected'); except Inc(Counter); end; end; end; begin DoBTS289095; if Counter = Expected then WriteLn('PASS') else WriteLn('FAIL'); end.
Erzeugen von Mac OS X-Anwendungen auf dem Mac
Wenn Sie eine frühe Version von XE2 verwenden, könnten auf dem Mac beim Erstellen eines Installationspakets mit dem Befehl productbuild Probleme auftreten:
- Es könnte eine Fehlermeldung, wie etwa die folgende, ausgegeben werden:
productbuild: error: Can't write temporary package to "/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/TemporaryItems/(A Document Being Saved By productbuild)/FireFlow.app.pkg" (Path "/Users/name/Applications/Embarcadero/PAServer/scratch-dir/name- Lion/./FireFlow.app" is not a valid bundle component (using destination path "/Users/name/Applications/Embarcadero/PAServer/scratch-dir/name-Lion/.")).
- So beheben Sie dieses Problem:
- Öffnen Sie die Mac-Anwendung in der IDE.
- Wählen Sie Projekt > Bereitstellung.
- Suchen Sie im Bereitstellungs-Manager die Remote-Datei Projektname.info.plist.
- Ändern Sie den Dateinamen in info.plist.
- Speichern Sie die Mac-Anwendung, und übertragen Sie sie auf den Mac.
- Für Ihre Mac OS X-Anwendung könnte ein falsches Symbol angezeigt werden.
- So beheben Sie dieses Problem:
- Wählen Sie Projekt > Optionen > Anwendung.
- Klicken Sie im Bereich Einstellungen für Programmsymbol auf die Schaltfläche Vorgabe.
Weitere Informationen zum Entwickeln von Anwendungen für Mac OS X finden Sie in den folgenden Themen:
- Erstellen einer FireMonkey-Anwendung
- Mac OS X-Anwendungsentwicklung
- Erstellen der plattformübergreifenden Mac OS X-Konsolenanwendung "Hello World"
Framework-Verbindungsprobleme bei Datenmodulen, die von DLLs für OS X verwendet werden
Wenn Sie die Erstellung einer C++-DLL ohne Angabe der Framework-Verbindung beginnen, und Sie später das VCL-Framework verwenden möchten, müssen Sie dem Projektquelltext die Anweisung #include <vcl.h> hinzufügen. Außerdem muss die Pseudo-Eigenschaft ClassGroup des Datenmoduls auf Vcl.Controls.TControl gesetzt werden.
Darüber hinaus müssen gemeinsame Bibliotheken, die VCL-Komponenten (oder beliebige Delphi-Komponenten) verwenden sollen, als Packages und nicht als reine DLL-Projekte erstellt werden.
Weitere Informationen zur Plattformverbindung von Datenmodulen finden Sie in den folgenden Themen:
Der Experte für DataSnap-Client-Module setzt das Passwort-Feld auf UserName
Die Eigenschaft Password in einem DataSnap-REST-Client (oder einem DataSnap-Client) übernimmt beim Erzeugen des Projekts den Wert der Eigenschaft User Name. Jedes Passwort, das Sie in dem Experten eingeben, geht verloren. Sie sollten nach dem Erstellen des Clients das Passwort im Objektinspektor setzen.
Automatisierungsserver und vorzeichenlose Integerwerte
In XE2 wurde für Delphi die Unterstützung der Weiterleitung von Word-, LongWord- und UInt64-Parameter als vorzeichenlose Integerwerte (VT_UI2, VT_UI4 bzw. VT_UI8) eingeführt. Aus historischen Gründen ist TOleEnum ein Alias für ein LongWord, und beim Importieren von Typbibliotheken in Delphi werden Aufzählungen vorzeichenlos deklariert. Das Ergebnis ist, dass Aufzählungen als VT_UI4 weitergeleitet werden. Server, wie MS-Excel, verarbeiten aber vorzeichenlose Aufzählungen nicht. Daher könnte der folgende Code fehlschlagen:
V.Insert(TOLEEnum(xlShiftDown)); // Insert in Range
Zur Umgehung dieses Fehlers ohne Rücknahme der Automatisierungsunterstützung für vorzeichenlose Integerwerte wurde in Update 4 eine globale Variable, System.Variants.DispatchUnsignedAsSigned, eingeführt, mit der die Laufzeit angewiesen werden kann, vorzeichenlose Werte als Integerwerte mit Vorzeichen zu senden.
Im Folgenden finden Sie ein Beispiel dazu, wie diese Variable gesetzt werden kann:
{$IF CompilerVersion >= 23}
{$IF DECLARED(System.Variants.DispatchUnsignedAsSigned)}
System.Variants.DispatchUnsignedAsSigned := True;
{$IFEND}
{$IFEND}
Sie können den obigen Code in den initialization-Abschnitt einer Unit des Automatisierungs-Clients aufnehmen.
HINWEIS: Die obigen Erläuterungen betreffen nur die Variant- und DispInterface-basierte Automatisierung. D.h., Automatisierungsaufrufe über vtable/interface sind von diesem Fehler und der hier beschriebenen Lösung nicht betroffen.
Siehe auch
- Installationshinweise für XE2
- Release-Hinweise für XE2, einschließlich Update 1
- Release-Hinweise für XE2 Update 2
- Release-Hinweise für XE2 Update 3
Copyright 2012 Embarcadero Technologies. Alle Rechte vorbehalten.