VFX – Silverlight Wizard

Der nächste Entwicklungsschritt ist die Migration einer vorhandenen VFX für VFP Anwendung nach  Silverswitch. Das zu migrierende Projekt muss mit VFP geöffnet werden.

Wenn die Projektmappe in Visual Studio während der Ausführung des VFX – Silverlight Wizard geöffnet  bleiben soll, müssen in Visual Studio alle Dateien gespeichert werden, bevor der VFX – Silverlight Wizard  gestartet wird.

In Visual Extend für VFP ist der VFX – Silverlight Wizard integriert und kann über den Menüpunkt „VFX  13.0“, „Projekt“, „Silverlight Wizard“ gestartet werden. Dieser Assistent ermöglicht die Migration von Formularen und Berichten in ein Silverswitch Projekt. Dieser Assistent führt den Entwickler durch wenige  Schritte.

Der Assistent erstellt und registriert einen VFP COM Server. Auf Windows Vista und neueren Windows Versionen muss VFP 9 explizit mit Administratorrechten ausgeführt werden, damit dieser Assistent erfolgreich  ausgeführt werden kann.

Die migrierte Silverswitch Anwendung greift in der Entwicklungsumgebung auf die gleiche Datenbank zu, wie die VFX für VFP Anwendung. Jede Tabelle der Datenbank muss über einen Primärschlüssel verfügen.  Was macht dieser Assistent?


 

Im ersten Schritt wird die Funktionsweise des Assistenten erläutert. Der Assistent migriert das aktive VFX  Projekt in eine Silverlight Projektmappe. Es muss eine vorbereitete Silverswitch Projektmappe vorhanden sein, um diesen Assistenten ausführen zu können. In den folgenden Schritten des Assistenten kann ausgewählt  werden, welche Formulare, Eigenschaften und Berichte migriert werden sollen.

Der Assistent erstellt und registriert einen VFP COM Server. VFP 9 muss daher explizit mit  Administratorrechten ausgeführt werden, damit dieser Assistent erfolgreich ausgeführt werden kann.

Der Assistent verändert nicht das VFX für VFP Projekt.

 

Auswahl der Silverlight Projektmappe

 

In diesem Schritt wird eine zuvor vorbereitete Silverswitch Projektmappe ausgewählt. Die vom VFX –  Silverlight Wizard erstellten Formulare und Berichte werden der hier ausgewählten Projektmappe hinzugefügt.

 

Datenzugriff

 

In diesem Schritt werden der Silverswitch Projektmappe Komponenten für den Datenzugriff hinzugefügt.

Der Datenzugriff der Silverlight Anwendung erfolgt über ein ADO.NET Entity Data Model undeinen Domain Service. Beide Komponenten werden vom Assistenten generiert.

Die Generierung eines ADO.NET Entity Data Model und eines Domain Service ist bei wiederholter Anwendung  des Assistenten auf dem gleichen Projekt nur dann erforderlich, wenn zwischenzeitlich Änderungen an der Datenstruktur vorgenommen wurden. Bei der ersten Anwendung des Assistenten auf einem VFX für Projekt müssen ADO.NET Entity Data Model und Domain Service auf jedem Fall generiert werden.

Bei der ersten Anwendung des Assistenten muss ein VFP COM Server erstellt werden. Über den COM Server kann der Zugriff auf Datenbanken erfolgen. Wenn VFP Datenbanken verwendet werden sollen, muss der  Datenzugriff über den COM Server erfolgen. Im COM Server kann außerdem mit VFP erstellte Geschäftslogik abgelegt werden.

 

Auswahl von Formularen

 

In diesem Schritt erscheint eine Liste mit Formularen, die im VFX für VFP Projekt enthalten sind.  Standardmäßig wird vorgeschlagen die Formulare nach Silverlight zu migrieren, die in das Projekt  eingeschlossen sind. VFX Formulare, wie zum Beispiel die Benutzerverwaltung, werden nicht nach Silverlight  migriert, weil diese Formulare bereits im Vorlageprojekt von Silverswitch enthalten sind.

Falls in der Datenumgebung eines Formulars eine Datenquelle verwendet wird, die nicht über einen  Primärschlüssel verfügt, erscheint im Protokoll des Assistenten eine Warnung. Das Formular kann nach Silverlight migriert werden. Das migrierte Formular kann ausgeführt werden, jedoch ist die Bearbeitung von  Daten nicht möglich, solange der Datenquelle kein Primärschlüssel hinzugefügt wird.

 

Auswahl der Projekte für Formulare


In diesem Schritt werden die Namen der Projekte angegeben, denen die Silverlight Formulare hinzugefügt  werden sollen. Standardmäßig werden alle Silverlight Formulare dem Projekt <Projektname>Forms hinzugefügt. Es ist möglich eigene Projektnamen einzutragen. Es können mehrere oder alle Formulare einem Projekt hinzugefügt werden.

Es kann aber auch für jedes Formular ein eigenes Projekt erstellt werden.

Bei der Erstellung der Silverlight Client-Anwendung wird aus jedem Projekt eine XAP-Datei generiert, die zur  Laufzeit an den Client im Internet übertragen werden muss. Durch die Aufteilung in mehrere Projekte kann die Größe der XAP Dateien verkleinert werden. Die Ladezeit wird so verringert.

Formulare können beliebig in Projekte gruppiert werden. Es mag sinnvoll sein, umfangreiche Formulare in eigene Projekte zu platzieren. Mehrere kleine Formulare können in einem Projekt zusammengefasst werden.

Mit einem Klick auf die Schaltfläche „Create separate projectforeachform“ wird für jedes Formular ein Projektname generiert.

 

Auswahl von Formulareigenschaften

 

Standardmäßig werden Silverlight Formulare mit einem Layout generiert, dass weitgehend dem Layout des VFP  Formulars entspricht. Zu diesem Zweck werden alle möglichen Layouteigenschaften nach Silverlight migriert.

Wenn der Anwender die Möglichkeit erhalten soll Styles zu verwenden, sollten nicht alle Layouteigenschaften  nach Silverlight migriert werden. Alle Eigenschaften, die hard-codiert in Silverlight Formularen enthalten sind, können zur Laufzeit nicht durch die Anwendung von Styles geändert werden.

Durch die Option „Create layoutbased on Silverlight Grid“ wird die Position von Steuerelementen nicht nach Silverlight migriert. Vielmehr werden die Steuerlemente im Silverlight-Formular in einem Silverlight Grid  angeordnet. Ein Silverlight Grid ist vergleichbar mit einer Tabelle. In dieser Tabelle werden typischerweise in einer Spalte Bezeichnungen und in der nächsten Spalte Textboxen und andere Steuerelemente zur Dateneingabe  platziert. Der Vorteil dieser Art der Darstellung ist, dass Formulare gut skalierbar sind. Formulare lassen sich so zum Beispiel auch auf Mobilgeräten mit sehr kleinen Bildschirmen gut anzeigen.

 

Auswahl von Berichten

 

In diesem Schritt werden alle im VFX für VFP Projekt enthaltenen Berichtsdateien angezeigt. Standardmäßig werden alle Berichte zu Silverlight Berichten migriert, ausgenommen VFX Berichte, wie zum Beispiel dieVorlagedateien für Grid-Berichte.

Damit VFP Berichte nach Silverlight migriert werden können, dürfen diese nicht über Cursor in der Datenumgebung verfügen. Berichte müssen auf den Datenquellen basieren, die das aufrufende Formular bereitstellt.

Wenn die Projektmappe in Visual Studio geöffnet ist, während der VFX – Silverlight Wizard ausgeführt wird, erscheint in Visual Studio die Frage, ob die Projektmappe neu geladen werden soll, weil eine andere Anwendung Änderungen an der Projektmappe vorgenommen hat. In diesem Fall muss die Projektmappe neu geladen werden.