Einstieg in .NET mit Delphi
Einleitung
Alles ändert sich. Waren vor etwas über 10 Jahren noch DOS-Programme mit ihren textorientierten Oberflächen "state of the art", so begannen in der ersten Hälfte der 90er Jahre grafische Benutzeroberflächen ihren Siegeszug. Mit ihnen änderte sich auch die Art der Programmierung grundlegend. Der Entwickler konnte nun nicht mehr vorhersehen, wann der Anwender welche Aktionen ausführte oder wann er vielleicht (mitten im Programmablauf) zu einer anderen Anwendung wechselte. Der streng vom Programmierer vorgegebene Programmablauf wich der Ereignisorientierung - anfangs noch in 16 Bit. Ab Windows 95 hielt 32 Bit Einzug. Diese Entwicklung wurde von Borland mit entsprechenden Tools begleitet. Anfangs Turbo Pascal für DOS, dann Delphi 1 für die 16-Bit-Programmierung unter Windows 3.1 und schließlich die 32-Bit-Varianten.
Das 32-Bit-Windows, genauer gesagt, das, was Programmierer daran hauptsächlich interessiert, nämlich das Win32-API, hat nun auch bereits einige Jahre Weiterentwicklung hinter sich. Sein Aufbau ist mit den Jahren immer unübersichtlicher geworden. Manche Befehle haben Rückgabewerte, andere erwarten die Prüfung mittels GetLastError, einige haben eine Vorsilbe im Namen, um ihre Zugehörigkeit kenntlich zu machen. Jede Weiterentwicklung würde das Ganze unübersichtlicher machen, zumal von Objektorientierung, die inzwischen beim Programmieren eine Selbstverständlichkeit ist, hierbei keine Rede sein kann.
Microsoft reagierte darauf, indem eine komplett neue Plattform entwickelt wurde: Microsoft .NET (gesprochen "dot net"). Ein kurzer Überblick über die wichtigsten Bestandteile von .NET ist in unserer Grundlagen-Rubrik zu finden.
Seit Delphi 8 ist es möglich, mit Delphi Anwendungen für das .NET-Framework zu erstellen. Dabei stehen zwei verschiedene Wege für die Erstellung von Windows-Applikationen mit grafischer Benutzeroberfläche zur Verfügung: WinForms und VCL.NET. Was sind Vor- und Nachteile von diesen Alternativen?
WinForms
Erstellt man eine WinForms-Anwendung, basiert diese direkt auf der FCL, der .NET-Framework Class Library. Sie können als Entwickler also direkt die .NET-Klassenbibliothek verwenden, die Microsoft mit .NET ausliefert. Diese unterscheidet sich allerdings mal mehr, mal weniger von der VCL, die in Delphi bisher verwendet wurde. Es ist also nicht möglich, bestehende Delphi-Anwendungen ohne Änderungen in eine WinForms-Anwendung zu konvertieren. Und Sie können Ihr bislang mit der VCL erworbenes Wissen nicht verwenden, sondern müssen umlernen und sich in der FCL zurecht finden. Dafür können Sie auch allgemeine .NET-Literatur zu Hilfe nehmen, die sich nicht speziell mit Delphi beschäftigen.
VCL.NET
Der Name lässt es ahnen: Die VCL.NET ist eine .NET-Variante der bekannten Visual Component Library. Sie basiert nicht auf der .NET-Klassenbibliothek, sondern ist parallel dazu von Borland erstellt worden. Dennoch lassen sich mit Hilfe des Delphi für .NET-Compilers .NET-kompatible Anwendungen erzeugen. Vorteil der VCL.NET ist also eindeutig: Sie müssen nicht umlernen und können bestehende Anwendungen leicht .NET-fähig machen (vorausgesetzt alle Komponenten stehen auch in einer .NET-Version zur Verfügung). Kurz nach dem Erscheinen der ersten Delphi für .NET-Version wurde die VCL.NET von vielen nur als Umstiegshilfe für Win32-Entwickler gesehen. Borland hat aber weiter gedacht. Inzwischen ist klar, dass es auch eine VCL für Avalon geben wird. Die VCL.NET ist also kein totes Pferd. Nachteil ist, dass VCL.NET-Anwendungen etwas größer werden als WinForms-Anwendungen.
In der Rubrik "Insider" finden Sie einen Artikel mit Informationen, weshalb sich Borland entschieden hat, VCL.NET zu entwickeln.
Wie auch immer Sie sich entscheiden, in diesem Tutorial wollen wir Sie bei den ersten Schritten in Delphi für .NET begleiten. Wir werden alle Schritte, bei denen es relevant ist, sowohl in der WinForms- als auch in der VCL.NET-Variante darstellen.
Mit dem .NET-Framework ist auch die Entwicklung von Web-Anwendungen (ASP.NET) möglich. Darauf soll in diesem Tutorial jedoch nicht eingegangen werden. Entsprechende Tutorials finden Sie in der Rubrik Web-Tutorials.