VFP & .NET Videos

Venelina Jordanova, Uwe Habermann

Für Microsoft haben wir sieben Videos erstellt, in denen die Interoperatibilität zwischen VFP und .NET gezeigt wird.
Die Videos sind auf der Website http://www.msdn-solve.de zu finden.

Überblick

Die Interoperatibilität zwischen VFP und .NET ist ein heißes Thema für viele VFP Entwickler. Wer sich den Umstieg auf Visual Studio nicht traut, sollte doch über den Tellerrand schauen und sich zumindest mit den Möglichkeiten der Interoperatibilität zwischen den beiden Welten vertraut machen. In sieben Videos wird gezeigt, wie aus Visual Studio Anwendungen auf Datenbanken zugegriffen werden kann, die auch von VFP Anwendungen benutzt werden können. Es wird auch gezeigt, wie mit Visual Studio erstellte Programmteile in eine VFP Anwendung integriert werden können. Weiterhin wird gezeigt, wie mit Visual Studio Desktop Anwendungen und Webanwendungen erstellt werden können. Für die Videos wird die Beispieldatenbank VFPizza in der DBC oder SQL Server Version verwendet. Zu allen Videos sind Anleitungen und der Quellcode zum Download verfügbar. Das Nachvollziehen der Videos 1 und 3 ist mit den kostenlosen Express Versionen von Visual Studio möglich. Für die anderen Videos ist eine Standard Version erforderlich, von denen kostenlose 60 Tage Trial Versionen von Microsoft zum Download angeboten werden. In den Videos werden von einem VFP Programmierer Schritt-für-Schritt Anleitungen gezeigt. Die Vorgehensweise in den Videos ist also auch für Visual Studio Einsteiger einfach nachvollziehbar. Hier die Kurzbeschreibungen der einzelnen Videos.

Zugriff auf VFP-DB via OLE-DB

Mit Visual Studio 2008 wird mit dem VFP OLE-DB Provider programmatisch auf eine VFP Datenbank zugegriffen. Es wird gezeigt, wie mit wenigen Zeilen Code eine Verbindung zum VFP OLE-DB Provider hergestellt werden kann und Daten in eine DataTable gelesen werden. Nach dem gleichen Prinzip kann eine Verbindung zu einem ODBC Treiber hergestellt werden.

Design eines .NET Client

Wiederum wird Visual Studio 2008 eine Verbindung zum VFP OLE-DB Provider hergestellt. Dieses Mal werden jedoch die Assistenten aus Visual Studio zum Herstellen der Verbindung verwendet. Dabei wird die Verbindungszeichenfolge in der Datei app.config gespeichert und ist so nicht hardcodiert in der Anwendung enthalten. Durch die Verwendung der Assistenten sind die ausgewählten Tabellen im Fenster Datenquellen sichtbar und können per Drag & Drop auf Formulare gezogen werden. Ähnlich wie in VFP, kann hierbei eine ganze Tabelle gezogen werden und es wird ein DataGrid auf dem Formular angelegt. Dabei wird dem Formular auch automatisch eine Symbolleiste hinzugefügt, die Blättern und Speichern ermöglicht. Wenn ein Feld aus dem Fenster Datenquellen auf ein Formular gezogen wird, wird ein Steuerelement, entsprechend dem Typ des Feldes erstellt. Zum Beispiel wird für Zeichenfelder eine Textbox erstellt.

Linq to SQL Server

Ähnlich wie im zweiten Video werden die Assistenten von Visual Studio verwendet, um für dieses Video jedoch eine Verbindung zu einer SQL Server Datenbank herzustellen. Anschließend wird dem Projekt eine „Linq to SQL-Klasse“ hinzugefügt. Der Vorteil von Linq ist, dass für den Datenzugriff eine Syntax verwendet wird, die dem Select Befehl sehr ähnlich ist. Die Ansicht und Bearbeitung der Daten wird in einem Windows Formular gemacht.

.NET User Control in VFP einbauen

Mit Visual Studio 2008 wird ein „User Control“ erstellt. Dabei handelt es sich um eine kleine Anwendung mit Benutzeroberfläche und Datenanbindung, die in eine DLL verpackt ist. Ein solches User Control kann mit Visual Studio nur erstellt werden, wenn der „Interop Form Toolkit“ installiert ist. Dieser Toolkit wird von Microsoft kostenlos zum Download angeboten. In VFP ist das User Control in der Liste der ActiveX-Steuerelemente zu finden und kann einem VFP Formular hinzugefügt werden. Auf diesem Weg kann in einer VFP Anwendung eine beliebige Funktionalität aus einer Visual Studio Anwendung benutzt werden.

Dynamische Webanwendung

In diesem Video wird der Projekttyp „C# Webanwendung für Dynamic Data Entities“ vorgestellt. Bei der Auswahl dieses Projekttyps in Visual Studio wird ein Projekt angelegt, das eine generische Webanwendung bereitstellt. Es muss nur mit dem Assistenten für das Entity Data Model die Datenanbindung konfiguriert werden. Anschließend kann die Webanwendung sofort gestartet werden. Die dynamische Webanwendung zeigt auf der Startseite eine Liste der im Entity Data Model ausgewählten Tabellen. Durch einen Klick auf eine der Tabellen wird eine Listenansicht dieser Tabelle angezeigt. Diese Listenansicht ist vergleichbar der Browse Ansicht in VFP. Durch einen Klick auf einen Datensatz in der Listenansicht wird eine Detailansicht angezeigt. Dies entspricht etwa der Edit Ansicht in VFP. In der Detailansicht ist eine Bearbeitung der Daten möglich.

Silverlight Anwendung

Silverlight ist die neue Technologie für Webanwendungen mit reicher Benutzeroberfläche. Das Silverlight Frontend kommuniziert mit einem Web Service auf der Server Seite. Dies wird die erste Solution, die zwei Projekte enthält. Der Web Service wird durch Hinzufügen eines ADO.NET Data Service und wenigen Zeilen Code erstellt. Dem Silverlight Projekt werden XAML Formulare hinzugefügt, die zuvor, außerhalb des Videos, mit Expression Blend erstellt wurden. Das Silverlight Frontend läuft im Internet Explorer mit installiertem Silverlight Add-On. Der Web Service kann auf einem Rechner mit installiertem Internet Information Server ausgeführt werden. Wie bei der dynamischen Webanwendung, wird auch hier auf eine SQL Server Datenbank zugegriffen.

WPF Anwendung

Windows Presentation Foundation ist die neue Technologie für Benutzeroberflächen von Desktop Anwendungen. Ähnlich wie bei einer Silverlight Anwendung, kommuniziert auch eine WPF Anwendung mit einem Web Service auf der Server Seite. Der Web Service wird genauso wie für eine Silverlight Anwendung erstellt. Das Frontend besteht auch bei der WPF Anwendung aus XAML Formularen. Der Unterschied zu Silverlight Anwendungen besteht darin, dass eine WPF Anwendung im Rahmen eines Windows Formulars läuft, während eine Silverlight Anwendung im In-ternet Explorer läuft. Um eine WPF Anwendung ausführen zu können, muss auf dem jeweiligen Rechner das .NET Framework installiert sein. Genau wie bei der Silverlight Anwendung, erfordert der Web Service einem Rechner mit installiertem Internet Information Server. Der Zugriff auf die Daten erfolgt genauso, wie bei der Silverlight Anwendung auf eine SQL Server Datenbank.