|
|
Lexikon auf Ihrer Homepage |
|
Lexikon als Lesezeichen hinzufügen |
| Embarcadero Delphi | |
|---|---|
| Entwickler | Borland, inzwischen Embarcadero Technologies |
| Erscheinungsjahr | 1995 |
| Aktuelle Version | XE2 (16.0) (1. September 2011) |
| Betriebssystem | Windows |
| Kategorie | Programmiersprache IDE |
| Lizenz | proprietär |
| Deutschsprachig | ja |
| www.embarcadero.com | |
| The Delphi Language
(ehemals „Object Pascal“) | |
|---|---|
| Paradigmen: | prozedural, objektorientiert |
| Erscheinungsjahr: | 1986 |
| Entwickler: | Apple, Niklaus Wirth, Anders Hejlsberg |
| Typisierung: | stark, explizit (auf Wunsch auch implizit), statisch |
| wichtige Implementierungen: | Embarcadero Delphi (x86 und CLI), Lazarus, Oxygene (CLI, Java), Free Pascal (x86, x86-64, PowerPC, ppc64, SPARC und ARM), Virtual Pascal (x86), TMT Pascal (x86), Turbo51 (Intel 8051) |
| Dialekte: | Free Pascal, Delphi.NET, Oxygene |
| Einflüsse: | Turbo Pascal, Smalltalk |
| Beeinflusste: | .NET, C#, Java |
Delphi ist zum einen der Name einer vom Unternehmen Borland entwickelten objektorientierten Programmiersprache, die ursprünglich aus der von Niklaus Wirth erstellten Programmiersprache Pascal hervorgegangen ist, und zum anderen die Bezeichnung einer ebenfalls vom Unternehmen Borland entwickelten Entwicklungsumgebung. Im November 2006 wurden die Entwicklerteams der Entwicklungswerkzeuge, darunter auch Delphi, von Borland in eine neue Tochtergesellschaft namens CodeGear ausgegliedert. Am 7. Mai 2008 wurde die IDE-Sparte an Embarcadero Technologies verkauft.[1]
Die Programmiersprache von Borlands Entwicklungsumgebung Delphi wurde vom Hersteller lange Zeit als Object Pascal bezeichnet. Erst 2003, mit dem Erscheinen von Delphi 7, benannte der Hersteller sie in Delphi-Language um. Die Begründung lautete, dass sich bereits so viel in der Sprache verändert habe, dass man es nicht mehr mit Pascal gleichsetzen könne.
Eine wesentliche Erweiterung gegenüber der zugrunde liegenden Sprache Pascal ist die Einbeziehung objektorientierter Sprachmerkmale. Delphi ist aber nicht die erste objektorientierte Erweiterung von Pascal. Borland hatte bereits bei Version 5.5 von Turbo Pascal ein Objektmodell eingeführt, das von den Delphi-Compilern bis Version 7.0 sowie seit Version 2006 (10.0) erneut unterstützt wird. Delphi 8 für .NET unterstützt sie nicht.
Object Pascal ist die Grundlage der visuellen Klassenbibliothek Visual Component Library (VCL), sowie der neueren Component Library for Cross Platform (CLX), auf der Kylix basiert. Beide Bibliotheken sind stark miteinander verwandt, und es ist häufig einfach, eine für die VCL geschriebene Komponente nach CLX zu portieren.
Einige der Elemente und Ideen von Object Pascal wurden in die Programmiersprache C# von Microsoft übernommen. Einer der Gründe ist, dass zahlreiche Mitentwickler von Delphi bei Borland von Microsoft abgeworben wurden und maßgeblich an der Entwicklung von C# beteiligt waren. Darunter waren unter anderem der Delphi-Projektleiter Anders Hejlsberg, welchem der Wechsel zu Microsoft mit einem Bonus in Millionenhöhe schmackhaft gemacht wurde, sowie Chuck Jazdzewski (Delphi Chief Architect), Corbin Dunn (Entwickler der Delphi-IDE), Danny Thorpe (Delphi, Borland Chief Scientist), Eddie Churchill und Ramin Halviatti.[2] Hejlsberg wurde bei Microsoft Software-Architekturchef, Miterfinder von .NET und Chefentwickler von C#.
Der größte Teil der Funktionalität beruht auf Klassenbibliotheken, andere sehr häufig benötigte Funktionen werden aber direkt vom Compiler umgesetzt, so z. B. die nahtlose Integration der COM-Technologie unter Microsoft Windows. Der direkte Zugriff auf das Windows-API ist möglich. Von anderen Anbietern gibt es eine Vielzahl von Komponenten und Assistenten für die unterschiedlichsten Anwendungen (siehe Weblinks).
Ab der Version 6.0.1 wurden die Bibliotheken (bis zu diesem Zeitpunkt nur die Visual Component Library für Windows) um die Cross Plattform Library CLX erweitert, die die Lauffähigkeit eines Programms unter Windows und Linux ermöglichen sollte. Gleichzeitig wurde die Linuxportierung Kylix aus der Taufe gehoben.
Bis Delphi 2005 wurden Objekte grundsätzlich auf dem Heap angelegt. Dies ermöglicht es in Delphi, jedes Objekt als Rückgabe an den Aufrufenden zu übergeben. In anderen Programmiersprachen, wie z. B. C++, können Objekte sowohl im Heap als auch im Stack angelegt werden. Objekte im Stack können nicht als Rückgabewert übergeben werden, da diese beim Verlassen der Funktion zusammen mit dem restlichen Stackframe der Funktion gelöscht werden. Somit wurde hier eine Designentscheidung getroffen, die dem Delphi-Programmierer die Entscheidung zwischen Heap/Stack abnimmt und immer die flexiblere Lösung wählt. Als Nachteil dieser Technik ergibt sich unmittelbar, dass der Programmierer seine erzeugten Objekte selbst aus dem Speicher entfernen muss. Bei Objekten im Stack ist dies nicht notwendig. Somit können sich C++-Programmierer das explizite Löschen ihrer erzeugten Objekte teilweise sparen.
Seit Delphi 2006 werden die alten Objekte aus Turbo Pascal, die zwischenzeitlich nur eingeschränkt genutzt werden konnten, wieder unterstützt, bei denen der Programmierer die Freiheit hat, die Objekte dort abzulegen, wo es zweckmäßig ist.
| Name | Größe | Wertebereich | Beschreibung |
|---|---|---|---|
Boolean |
1 Byte | true (1) oder false (0) | boolescher Wert |
ByteBool |
1 Byte | true (nicht 0) oder false (0) | boolescher Wert |
WordBool |
2 Byte | true (nicht 0) oder false (0) | boolescher Wert |
LongBool |
4 Byte | true (nicht 0) oder false (0) | boolescher Wert |
Byte |
1 Byte | 0 bis 255 | vorzeichenlose 8-Bit-Ganzzahl, inzwischen auch als UInt8 verfügbar
|
Word |
2 Byte | 0 bis 65535 | vorzeichenlose 16-Bit-Ganzzahl, inzwischen auch als UInt16 verfügbar
|
LongWord / Cardinal / DWord |
4 Byte | 0 bis 4.294.967.295 | vorzeichenlose 32-Bit-Ganzzahl, inzwischen auch als UInt32 verfügbar
|
UInt64 |
8 Byte | 0 bis 18.446.744.073.709.551.615 | vorzeichenlose 64-Bit-Ganzzahl, undokumentiert, teilweise fehlerhaft, beispielsweise keine Literale oberhalb von 263−1 |
ShortInt |
1 Byte | −128 bis 127 | vorzeichenbehaftete 8-Bit-Ganzzahl |
SmallInt |
2 Byte | −32.768 bis 32.767 | vorzeichenbehaftete 16-Bit-Ganzzahl |
LongInt / Integer |
4 Byte | −231 bis 231−1 | vorzeichenbehaftete 32-Bit-Ganzzahl |
Int64 |
8 Byte | −263 bis 263−1 | vorzeichenbehaftete 64-Bit-Ganzzahl |
Real48 |
6 Byte | 2,9·10−39 bis 1,7·1038 | 48-Bit-Gleitkommazahl |
Single |
4 Byte | 1,5·10−45 bis 3,4·1038 | 32-Bit-Gleitkommazahl (IEEE 754-float)
|
Double / Real |
8 Byte | 5,0·10−324 bis 1,7·10308 | 64-Bit-Gleitkommazahl (IEEE 754-double)
|
Extended |
10 Byte | 3,6·10−4951 bis 1,1·104932 | 80-Bit-Gleitkommazahl |
Comp |
8 Byte | −263 bis 263−1 | vorzeichenbehaftete 64-Bit-Ganzzahl, mit der über die FPU gerechnet wird |
Currency |
8 Byte | −922.337.203.685.477,5808 bis 922.337.203.685.477,5807 | vorzeichenbehaftete 64-Bit-Festkommazahl |
Char1 |
1 Byte | #0 bis #255 | 8-Bit-Zeichen, z. B. ASCII-/ANSI-Zeichen |
AnsiChar |
1 Byte | #0 bis #255 | 8-Bit-Zeichen, z. B. ASCII-/ANSI-Zeichen |
WideChar |
2 Byte | #0 bis #65535 | 16-Bit-Zeichen, z. B. Unicode-Zeichen in UTF-16 Kodierung |
string |
bis 2 GByte | string entspricht standardmäßig einem AnsiString vor Delphi 2009 bzw. UnicodeString[3] ab Delphi 2009. Mit {$LONGSTRINGS OFF} entspricht er zur Rückwärtskompatibilität einem ShortString.
| |
ShortString |
bis 256 Byte | Aneinanderreihung von bis zu 255 Chars
| |
AnsiString |
bis 2 GByte | Aneinanderreihung von bis zu 231 Chars
| |
WideString |
bis 2 GByte | Aneinanderreihung von bis zu 230 WideChars. Kompatibel mit COM BSTR (Basic String).
| |
UnicodeString |
bis 2 GByte | Aneinanderreihung von bis zu 230 WideChars. Im Gegensatz zum WideString kümmert sich der Compiler um die Referenzzählung. Als Kodierungsformat wird UTF-16 verwendet.[3]
| |
Der Datentyp Real entspricht in Delphi standardmäßig dem Double. Zur Rückwärtskompatibilität mit Turbo Pascal kann man ihn mit dem Compilerschalter {$REALCOMPATIBILITY ON} dem Real48 gleichsetzen. Dadurch wird jedoch die Nutzung des mathematischen Coprozessors für Gleitkommaberechnungen, die Real-Variablen benutzen, ausgeschaltet.
Der Datentyp Integer hängt von der jeweiligen Pascal-Implementierung ab. In 16-Bit-Implementierungen (z. B. Turbo Pascal) entsprach er einem SmallInt, in 32-Bit-Implementierungen einem LongInt und in 64-Bit-Implementierungen wird er einem Int64 entsprechen. Ähnlich verlängerte sich der Datentyp Cardinal im Laufe der Versionen von 15 auf 16 und heute 32 Bit.
1 Der Datentyp Char entspricht ab Delphi 2009 dem Typ WideChar und belegt damit 2 Byte.
and array as asm begin case class const constructor destructor dispinterface div do downto else end except exports file finalization finally for function goto if implementation in inherited initialization interface is label library mod nil not object of or out packed procedure program property raise record repeat resourcestring set shl shr static string then threadvar to try type unit unsafe until uses var while with xor
Direktiven sind Symbole, die nur in bestimmten Kontexten reserviert sind, sonst aber als Namen für Variablen, Funktionen, usw. benutzt werden können.
absolute abstract assembler at automated cdecl contains default delayed deprecated dispid dynamic experimental export external far final forward fragment helper implements index inline library local message name near nodefault on operator overload override pascal platform private protected public published read readonly reference register reintroduce requires resident safecall sealed static stdcall stored strict varargs virtual winapi write writeonly
Die erste Vorabversion von Delphi wurde im Herbst 1994 von Borland an einen begrenzten Entwicklerkreis verkauft. Diese mitsamt ihrem Quellcode ausgelieferte Version zeigte noch deutliche Unterschiede zur kommenden Delphi-Version 1.
Die erste Version von Delphi wurde am 14. Februar 1995 veröffentlicht und erzeugte nur Code für 16-Bit-Anwendungen für Windows 3.x. Der Umfang der mitgelieferten Komponenten war relativ gering.
Delphi 2 wurde im März 1996 veröffentlicht und ist die erste Version, die 32-Bit-Anwendungen für Windows erzeugen konnte. Die Vorgängerversion Delphi 1 und die englische Version von Delphi 2 waren zusätzlich auf der CD-ROM enthalten.
Delphi 2 war durch den Übergang von 16 auf 32 Bit erheblich weiter entwickelt worden. Neben moderneren Komponenten im Windows-95-Stil lag der Vorteil vor allem bei dem viel größeren lokalen Speicher. Vorher war die Größe aller Datentypen auf maximal 64 KByte (-16 Byte) beschränkt. Zeichenketten konnten nur 255 Zeichen lang sein. Nun konnten Zeichenketten und Datenstrukturen bis zu 2 GByte groß bzw. lang sein.
Delphi 3 wurde im Mai 1997 veröffentlicht.
Wesentliche Veränderungen zur Vorgängerversion waren das Eliminieren zahlreicher Bugs, eine Erweiterung der IDE durch Code Insight, weitere Common-Control-Komponenten (ToolBar, CoolBar) und die Aufnahme von Komponenten für Internet-Protokolle. Die wichtigste Änderung betrifft die Einführung der "Packages". In Version 2 mussten zusätzliche Komponenten in die Komponentenbibliothek integriert werden. Mit der Einführung der Packages konnten eigene oder externe Komponenten dynamisch hinzugefügt oder entfernt werden.
Delphi 4 wurde im Juli 1998 veröffentlicht und brachte die Unterstützung dynamischer Arrays und ActionLists sowie einige Verbesserungen der IDE, besonders in Bezug auf Übersichtlichkeit und die Verwaltung großer Projekte und Projektgruppen.
Delphi 5 wurde im August 1999 veröffentlicht. Mit Delphi 5 konnte erstmals über ADO auf Datenbanken zugegriffen werden. Diese Erweiterung musste in der Professional-Version allerdings als ADO Express zugekauft werden. Außerdem hielten Komponenten Einzug, mit denen via OLE auf Microsoft-Office-Anwendungen zugegriffen werden konnte. Dies war allerdings durch direkten Aufruf der OLE-Befehle schon vorher möglich.
Delphi 6 wurde im Mai 2001 veröffentlicht. Mit Delphi 6 konnte erstmals mit dem zusätzlichen Modellierungswerkzeug Modelmaker aus UML-Modellen Delphi-Programmcode erzeugt werden. Modelmaker erlaubt das Erstellen von Diagrammen in der Unified Modeling Language UML, einer Standardsprache zur Modellierung objektorientierter Systeme. Die manuelle Programmierung wird somit reduziert. Für Datenbankzugriffe hielt die neue Schnittstelle dbExpress Einzug.
Aufzählungstypen kann ein bestimmter, ordinaler Wert zugewiesen werden.
Delphi 7 wurde im August 2002 veröffentlicht.
Mit Delphi 7 wurde ein Preview Compiler für .NET-Entwicklung in Delphi ausgeliefert.
Das Modellierungswerkzeug Modelmaker wurde ab dieser Version in Delphi integriert.
Der Berichtsgenerator wurde mit Delphi 7 von QuickReport hin zu Nevrona Rave Reports 5 geändert.
Delphi 8 wurde im Dezember 2003 veröffentlicht. Es umfasste nur .NET-Entwicklung. Im Lieferumfang war daher auch Delphi 7 enthalten.
Delphi 2005 wurde seit November 2004 ausgeliefert. Neben nativen Windows-32-Bit-Anwendungen können mit Delphi 2005 auch .NET-Anwendungen in Delphi und C# erstellt werden. Im Gegensatz zu den Vorversionen Delphi 7 (Win32) und Delphi 8 (.NET) gibt es nun nur noch eine Delphi-IDE oder auch „Borland Developer Studio“.
Mit Delphi 2005 hielten umfassende Neuerungen wie zum Beispiel Refactoring in die IDE Einzug. Auch die Programmiersprache selbst wurde um einige Funktionen wie zum Beispiel das For-Each-Konstrukt erweitert.
Der Compiler kann nun auch sprachspezifische Zeichen interpretieren. So können im deutschen Quelltext auch die Sonderzeichen ä, ö und ü verwendet werden.
Die IDE zeigt umfassende Hilfetexte in einer besseren Übersichtlichkeit an.
Allerdings traten auch viele Fehler innerhalb der IDE und den mitgelieferten Komponenten auf, was zu einer gewissen Unzufriedenheit bei den Nutzern geführt hat, vor allem auch in Bezug auf die lange Ladezeit der IDE. Dies wurde mit einigen Programmaktualisierungen behoben.
Auch von Delphi 2005 existierte eine kostenlose Personal Edition.
Diese Version hat neue Sprachunterstützung für den Win32-Compiler für Records mit Methoden, Operatorüberladung und Klassenvariablen erhalten; damit wird fast der Stand der bestehenden Features des Delphi für .NET-Compiler erreicht.
Delphi 2006 enthält außerdem volle C++-Sprachunterstützung, inklusive VCL-Formdesigner (wie im Borland C++Builder), die allerdings, da sie nicht rechtzeitig fertig wurde, erst mit Update 1 komplettiert wurde. Dies wurde offiziell angekündigt, ein Novum in der Produktpolitik von Borland.
Die IDE enthält neue Funktionen wie z. B. die „Live Templates“, Blockvervollständigung und Einrückung während des Tippens und veränderte Zeilen-Indikatoren am linken Editor-Rand.
Außerdem ist ein Kommandozeilen-Compiler für .NET-Compact-Framework-Anwendungen enthalten. Damit können prinzipiell Anwendungen für Windows CE und Pocket PCs erstellt werden, auch wenn der Formulardesigner noch nicht dafür ausgelegt ist, es noch keinen Debugger gibt und man einen Emulator von einer anderen Webseite herunterladen muss (kostenlos).
Seit dem 5. September 2006 gibt es von Delphi 2006 so genannte „Turbo-Versionen“. Es handelt sich dabei um abgespeckte Versionen des Borland Developer Studios 2006 (Professional).
Parallel zum Spin-off der IDE-Sparte von Borland in das neue Unternehmen CodeGear wurde eine neue Turbo-Produktlinie eingeführt, die wohl auf die Erfolge von Turbo Pascal in den 1980ern und frühen 1990ern anspielen sollte. Als Turbo-Produkte wurden die Komponenten Delphi, Delphi for .NET, C++ und C# als einzelne Module vertrieben.
Hierbei gab es für alle Produkte eine kostenlose, im Funktionsumfang eingeschränkte Explorer-Version, die keinen Kommandozeilen-Compiler enthielt und in der keine Komponenten anderer Hersteller in die Tool-Palette installiert werden konnten -- man musste mit den 200 mitgelieferten auskommen oder die Drittkomponenten zur Laufzeit erzeugen. Daneben gab es Professional-Versionen, die diese Einschränkung nicht besaßen. Allen Turbo-Versionen ist gemein, dass auf einem Rechner jeweils nur ein Produkt der Turbo-Reihe installiert werden kann. Dies hat allerdings keine lizenzrechtlichen, sondern ausschließlich technische Gründe.
Ursprünglich war geplant, die Turbo-Versionen als festen Bestandteil in die Produktpalette mit aufzunehmen, dieser Plan wurde jedoch wieder aufgegeben. Die Turbo-Produktlinie blieb auf dem Stand von 2006, ab September 2009 wurden die Downloads von der Seite www.turboexplorer.com entfernt.
Diese im März 2007 erschienene und separat lieferbare Variante besitzt auf vielfachen Kundenwunsch nur die Delphi for Win32-Personality und wartet unter anderem mit folgenden Neuerungen auf: Anpassungen und Erweiterungen für Windows Vista, überarbeitetem Datenbankframework dbExpress, einer erweiterten Version von Intraweb mit Ajax-Unterstützung unter dem Namen „VCL for the Web“ und einer überarbeiteten Hilfe. Diese Version ist auch die erste Version, die als Download über das Internet bezogen werden kann sowie alle Sprachen (Englisch, Deutsch, Japanisch, Französisch) zusammen enthält. Ebenfalls erschienen ist ein Delphi für PHP, das aber außer dem Namen und einer gewissen Ähnlichkeit der IDE mit Delphi weiter nichts zu tun hat.
Die im September 2007 erschienene Version kombiniert Delphi, Delphi für .NET und C++ Builder unter dem Namen RAD Studio 2007 (RAD steht hierbei für Rapid Application Development). Die ursprünglich für diese Version angekündigte Unterstützung von mobilen Geräten auf Basis des Compact Frameworks wurde auf einen späteren Zeitpunkt verschoben. Zusätzlich wird das mit Delphi 2007 zur Version 4 umgebaute Datenbankframework dbExpress weiter ausgebaut und eine neue embedded Datenbank namens BlackFish SQL mitgeliefert. Diese basiert auf .NET und ist kompatibel zum existierenden JDataStore. Mit RAD Studio 2007 wird auf der .NET Seite das Framework Version 2.0 unterstützt, inklusive ASP.NET 2.0 und damit auch Generics. Klassen des .NET Frameworks 3.0 können mit etwas manueller Arbeit auch genutzt werden, da diese Version keine Spracherweiterungen (wie 2.0 Generics) sondern lediglich neue Funktionen beinhaltet. Die integrierte Hilfe wurde weiter überarbeitet und enthält inzwischen wieder einige Codebeispiele.
Ursprünglich als Delphi 2008 angekündigt, ist Tiburón seit dem 25. August 2008 als Delphi 2009 erhältlich. Es gab umfangreiche Änderungen an IDE, RTL und VCL. Bei der IDE wurde u. a. der ClassBrowser überarbeitet, ein ResourceBrowser zum Verwalten der mit in die exe-Datei einzukompilierenden Ressourcen ergänzt und benutzerdefinierte Build-Configurations (debug, release) hinzugefügt. Mehrere neue Komponenten, darunter ein Ribbon Control, mit dem Menüs wie bei Office 2007 möglich sind, erweitern die VCL. Zudem wurde die gesamte RTL und VCL auf Unicode umgestellt. Als Spracherweiterung hielten Lambda-Funktionen und Generics Einzug in Delphi für Win32.[4]
Neben Delphi 2009 firmiert auch der C++Builder 2009 unter dem Namen Tiburón (Spanisch für „Hai“). Werden beide installiert, integrieren sie sich in eine einzige IDE.
Ein Artikel zu den Neuerungen in Delphi 2009 ist auf entwickler.de[5] zu finden.
Die Delphi-.NET-Framework-Version, Delphi Prism, wurde Ende Oktober 2008 von Embarcadero vorgestellt.[6] Im Gegensatz zu früheren Delphi-für-.NET-Versionen wird für Prism nicht mehr die Delphi-IDE, sondern Visual Studio verwendet. Embarcadero arbeitet hierfür mit RemObjects zusammen, um das Produkt Oxygene als Delphi Prism weiterzuführen.[7]
Mittels Prism wird es möglich, Mono als .NET-Implementation zu nutzen; damit können Programme für Linux und Mac OS X entwickelt werden. Die Entwicklung für Windows Mobile wird weiterhin nicht offiziell unterstützt, da der WinForms-Oberflächengestalter hardcodiert für VB.NET und C# ist.
Die Programmiersprache ist nicht kompatibel zum bestehenden Delphi-.NET-Sprachumfang, für die fehlende RTL- und VCL.Net-Unterstützung gibt es ein Projekt namens ShineOn.
Ende August 2009 hat Embarcadero Delphi 2010 veröffentlicht. Der Fokus liegt bei dieser Version auf Verbesserungen der IDE, Windows 7-Unterstützung und Gesten-Steuerung für die erzeugten Programme.[8] Die Gestensteuerung wird auch für Betriebssysteme (Windows 2000 und XP) unterstützt, für die Microsoft selbst keine entsprechende Programmierschnittstelle bietet. Die mit Delphi 2009 umgebaute Lösung DataSnap zur Erzeugung mehrschichtiger verteilter Anwendungen wurde ebenfalls stark erweitert. Neu ist in den Enterprise- und Architect-Varianten auch ein dbExpress-Datenbanktreiber für Firebird. Die Delphi-2010-IDE unterstützt offiziell kein Windows 2000 mehr, Programme für Windows 2000 lassen sich jedoch weiterhin problemlos damit entwickeln. Als Vorlage für die integrierte Hilfe dienen nun die Texte eines Wikis.
Am 31. August 2010 hat Embarcadero Delphi mit dem Namenszusatz XE veröffentlicht. Cross-Platform-Features (OSX) wurden auf spätere Versionen verschoben. Die Linux-Unterstützung sowie die 64-Bit-Unterstützung ist ebenfalls noch nicht in Delphi XE erschienen. Neu enthalten ist u.a. eine Subversion-Integration sowie die Unterstützung von Cloud-Programmierung und weitere DataSnap-Verbesserung (u.a. das Erstellen von DataSnap-Servern aus C++-Quelltext heraus). Ebenfalls neu sind einige mitgelieferte Produkte von Drittanbietern wie AQTime Standard (ein Laufzeitprofiler), Final Builder (Management von Buildvorgängen) und eine professionelle Logging-Lösung. Ebenso fanden zahlreiche Fehlerkorrekturen (z. B. für Generics oder IDE-Funktionen) den Weg ins Produkt.
Am 27. Januar 2011 hat Embarcadero verkündet, dass nun eine Starter Edition verfügbar ist, deren Funktionsumfang unterhalb der bisherigen Pro Edition ist und die speziell für Hobby-Anwender und Startups geeignet ist.[9] Die Lizenzbedingungen erlauben nur eine eingeschränkte kommerzielle Verwendung.
Am 1. September 2011 ist Delphi XE2 auf dem Markt erschienen. Es bringt eine ganze Reihe neuer Funktionen mit, unter anderem: 64 Bit Windows Compiler, 32 Bit Mac OS Compiler sowie Compilierung für Apple's iOS Betriebssystem. Die Unterstützung für iOS (iPhone/iPad) erfolgt derzeit noch mittels FreePascal Compiler und erfordert einen Apple Computer mit XCode Entwicklungsumgebung. Sämtliche nicht 32 Bit Ziele werden von der Delphi Entwicklungsumgebung per Crosscompilation bedient, es gibt dabei sowohl für 64 Bit als auch für Mac OS jeweils einen Remote Debugging Client der einerseits die Verteilung des compilierten Programms, als auch das Debuggen aus der Entwicklungsumgebung heraus unterstützt. Außer den neuen Compilern führt Delphi XE2 eine komplett neue GUI Komponentenbiliothek namens Firemonkey ein, die zur Entwicklung Plattform unabhängiger Anwendungen benötigt wird. Firemonkey unterstützt 2D und 3D Grafikbeschleunigung und basiert in weiten Teilen auf der aufgekauften VGScene Technologie. Ebenfalls neu ist die Möglichkeit, VCL Programme mittels Styles optisch zu verändern, auch mit selbsterstellten Styles. Weitere Neuerungen sind ein Databinding Konzept um Werteänderungen von Klasseneigenschaften mit dem GUI zu synchronisieren, ein ODBC dbExpress Datenbanktreiber für Windows und weitere Erweiterungen für die DataSnap RFC Technologie.
Eine Starter Edition gibt es gleich von Beginn an und eine weitere neue Edition namens Ultimate wurde eingeführt, die zwischen Enterprise und Architect liegen soll. Einziger nennenswerter Unterschied ist, welches Datenbanktool beiliegt. Als neuer Reportgenerator ist eine Light Version von FastReports enthalten.
Die gegenwärtige Roadmap listet mehrere Projekte zur Weiterentwicklung von Delphi auf, die unter anderem folgende Punkte umfassen: 64-Bit-Delphi-Compiler für Windows, Mac OS X und Linux sowie eine windowsbasierte Entwicklungsumgebung mit Cross-Plattform-Entwicklungsunterstützung. Ebenfalls ist eine GUI-Bibliothek für Mac OS X in der Planung. Ein ARM Compiler ist als in Zukunft mögliche Erweiterung aufgeführt. Teile dieser Roadmap werden von Delphi XE2 erfüllt, nach Aussagen von Embarcadero Mitarbeitern ist geplant eine neue Roadmap zu veröffentlichen, was jedoch noch etwas dauern wird.
Für Linux/X11 auf Intel x86 war ein ähnliches Paket unter dem Namen Kylix verfügbar, das allerdings von Borland nicht mehr gepflegt wird. Da die Entwicklungsumgebung diverse Fehler enthielt, gibt es zahlreiche Unternehmungen, diese zu stabilisieren und die Kompilate unter neueren Linux-Distributionen lauffähig zu machen. Dazu zählen inoffizielle Bugfixes, als auch eine Alternative (die Entwicklung von CrossKylix[10] wurde im September 2007 eingestellt), um den Kylix-Compiler unter Windows zu benutzen.
Für die Sprache C++ bietet CodeGear ein ähnliches Entwicklungssystem namens C++Builder an, das eng mit der Delphi-IDE verwandt ist. (Der oft hiermit verwechselte C++BuilderX ist eine auf der Primetime-IDE des JBuilder basierende, erweiterbare IDE für Cross-Platform-Entwicklung und die Unterstützung mehrerer Compiler und hat mit C++Builder kaum Gemeinsamkeiten.)
Lazarus ist eine Entwicklungsumgebung für Object Pascal, zu dessen Sprachfamilie auch Delphi gehört. Der Quellcode ist zu großen Teilen Delphi-kompatibel, was es einfach macht, Code zwischen beiden Entwicklungsumgebungen zu migrieren. Die IDE steht unter der LGPL. Lazarus ähnelt älteren Delphi-Versionen, auch werden ähnliche Konzepte (LCL statt VCL) verwendet. Die Lazarus-IDE setzt auf den Free-Pascal-Compiler auf und ist unter Linux, Mac OS und Windows lauffähig - ebenso können für diese und einige andere Plattformen Programme erzeugt werden.
WDSibyl wurde ursprünglich als kommerzielles Produkt von dem deutschen Unternehmen Speedsoft entwickelt (Speed Pascal, Sibyl Pascal). Die Sourcen der IDE unterliegen der GPL, die Quelltexte der Laufzeit- und Klassenbibliotheken hat das Unternehmen schon vor Jahren auf seiner Homepage freigegeben. Die ursprünglichen Quellcodes werden von freien Entwicklern weitergeführt und unterliegen ebenfalls der GPL. Die Delphi-ähnliche Entwicklungsumgebung läuft unter OS/2 und Windows. Ein ähnliches Projekt war Virtual Pascal des britischen Unternehmens fPrint UK Ltd.
Die von Microsoft früher vertriebene Entwicklungsumgebung Visual Basic (bis Version 6) ist ebenfalls mit Delphi optisch bis zu einem gewissen Grad vergleichbar gewesen, wobei der Sprachumfang jedoch, insbesondere objektorientierte Aspekte betreffend, nicht an den von Borland Delphi heran reichte. Zusätzlich benötigte jedes Programm, das in Visual Basic geschrieben wurde, die spezielle Visual Basic Runtime (Laufzeitumgebung). Die letzte von Microsoft herausgegebene Version Visual Basic 6 stammt aus dem Jahre 1998, der Support wurde im April 2008 eingestellt. Es wurde von der überwiegend objektorientierten Neuentwicklung VB.NET auf Basis des .NET-Frameworks abgelöst. Quellcode aus VB 6 ist nicht mit VB.NET kompatibel. Die Visual Basic 6.0 Laufzeitumgebung, wird weiterhin bis einschließlich Windows 7 über die Dauer des jeweiligen Support-Life-Cycles unterstützt.
Der Name Delphi hat seinen Ursprung in der starken Datenbankorientierung der Entwicklungsumgebung. Oracle ist sowohl der Name eines Datenbanksystems als auch das englische Wort für Orakel. Als bekanntestes Orakel gilt das Orakel von Delphi. Dieser Zusammenhang wird auch von Borland-Mitarbeitern als Ursprung des Namens genannt.[11]