VFP Code in Silverlight Anwendungen ausführen Venelina Jordanova Uwe Habermann [email protected] [email protected] VFP Code ausführen * Jeder Client * GUINEU * Server * VFP COM Server * OOB Client * VFP COM Server GUINEU GUINEU * Von Christof Wollenhaupt * www.GUINEU.net * VFP Laufzeitumgebung in C# entwickelt * Angepasste Version für VFX für Silverlight Client Anwendungen * Ausführung von VFP Code aus FXP Datei * 1 DLL GUINEU * Eigenes Projekt * FXP Datei * Buildvorgang: Eingebettete Resource * PRG Datei (zur Bearbeitung mit VFP) * Buildvorgang: keine * Demo GUINEU * Viele VFP Funktionen * Viele VFP Befehle * Parameterübergabe * auch Objekte! * Aber: * Keine Benutzeroberfläche * Kein Dateizugriff VFP COM Server VFP COM Server * Datenzugriff * Cursoradapter * VFP Datenbank * SQL Datenbank * Geschäftslogik * Alles, was nicht visuell ist VFP COM Server auf der Server Seite verwenden * Datenzugriff mit Cursoradapter * Verwendete Datenbank konfigurierbar * Native DBC * Alle ODBC Datenquellen * Microsoft SQL Server * MySQL * Oracle * DB2 *… VFP COM Server auf der Server Seite verwenden * „early binding“ in Visual Studio * COM Server muss zur Entwicklungszeit funktionsfähig sein * Verweis auf COM Server muss dem Server Projekt hinzugefügt werden VFP COM Server * DEFINE CLASS COMTastrade AS SESSION OLEPUBLIC * Erstellen als „Multi-Thread COM Server (DLL)“ * VFP9.exe muss explizit mit Administratorrechten ausgeführt werden! VFP COM Server DEFINE CLASS COMTastrade AS SESSION OLEPUBLIC PROCEDURE GetCustomers() USE Customer IN 0 SHARED CURSORTOXML("Customer", "lcXML", 1, 2, 0, "1") USE IN Customer RETURN lcXML VFP COM Server auf der Server Seite verwenden * Verweis auf „Microsoft CSharp“ hinzufügen Umgang mit Daten in C# * Kein USE, keine Cursor * Nur Speicherstrukturen * Datenklassen * 1. Beschreibung der Struktur: Kunden * Entspricht 1 Datensatz * 2. „Liste“: Kundenliste * Entspricht Tabelle oder Cursor * VfpCustomers.cs hinzufügen COM Server Zugriff * Verwendung * Daten holen * De-serialisieren von XML zu „List“ * VfpDataHandler.cs hinzufügen Domain Service erweitern public IQueryable<customer> GetVfpCustomers() { VfpDataHandler vfpDataHandler = new VfpDataHandler(); return vfpDataHandler.VfpCustomers.Items. AsQueryable<customer>(); } Noch ein DataGrid * Beispiel: About.xaml * Drag&Drop aus „Datenquellen“ * customer * Test VFP COM Server in OOB Client Anwendungen Verweis zu Microsoft.CSharp hinzufügen using System.Runtime. InteropServices.Automation; dynamic comvfp = AutomationFactory.CreateObject( "comvfptest.comvfptest"); txt1.Text = comvfp.gibsys0(); VFP COM Server in OOB Client Anwendungen * nur in Silverlight 4 Anwendungen mit höherer Vertrauensstellung möglich if (App.Current.IsRunningOutOfBrowser) if (App.Current.HasElevatedPermissions) * Demo VFX für Silverlight Action Button * Silverlight Client führt Methode in VFP COM Server aus * In jeder Silverlight Anwendung verfügbar * Browser * auf der Server Seite * OOB mit höherer Vertrauensstellung * auf der Server Seite * auf der Client Seite Der VFP COM Server in VFX für Silverlight * Ausführung von VFP Funktionen * Ausführung von FXP Dateien * Ausführung von APP Dateien Weitere Veranstaltungen * VFP 9 und Silverlight 4 Roadshow * 09.05. Frankfurt – Lindner Congress Hotel * 11.05. Stuttgart – Mercure City Center * 14.05. München – Mercure City Center * 16.05. Hannover – InterCity Hotel Weitere Veranstaltungen * VFX für Silverlight Workshop * 19.05.-20.05. Frankfurt – Lindner Congress Hotel * VFX Anwendertreffen * 21.05. Frankfurt – Lindner Congress Hotel Weitere Veranstaltungen * Southwest Fox * 26.10.-29.10. Phoenix – Legado Hotel * Silverlight Workshop * 29.10.-30.10. Phoenix – Legado Hotel * FoxPro Entwicklerkonferenz * 10.11.-12.11. Frankfurt – Lindner Congress Hotel Fragen? Vielen Dank und viel Spaß mit Silverlight wünschen Venelina & Uwe