Uwe Habermann [email protected] Venelina Jordanova [email protected] VFP Code in Silverlight Anwendungen...

26
Uwe Habermann [email protected] Venelina Jordanova [email protected] VFP Code in Silverlight Anwendungen ausführen

Transcript of Uwe Habermann [email protected] Venelina Jordanova [email protected] VFP Code in Silverlight Anwendungen...

Page 1: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

Uwe [email protected]

Venelina [email protected]

VFP Code in Silverlight Anwendungen ausführen

Page 2: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFP Code ausführen

* Jeder Client* GUINEU

* Server* VFP COM Server

* OOB Client* VFP COM Server

Page 3: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

GUINEU

Page 4: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

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

Page 5: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

GUINEU

* Eigenes Projekt

* FXP Datei* Buildvorgang: Eingebettete Resource

* PRG Datei (zur Bearbeitung mit VFP)* Buildvorgang: keine

* Demo

Page 6: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

GUINEU

* Viele VFP Funktionen

* Viele VFP Befehle

* Parameterübergabe* auch Objekte!

* Aber:* Keine Benutzeroberfläche* Kein Dateizugriff

Page 7: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFP COM Server

Page 8: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFP COM Server

* Datenzugriff* Cursoradapter

* VFP Datenbank* SQL Datenbank

* Geschäftslogik* Alles, was nicht visuell ist

Page 9: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFP COM Server auf derServer Seite verwenden

* Datenzugriff mit Cursoradapter

* Verwendete Datenbank konfigurierbar* Native DBC* Alle ODBC Datenquellen

* Microsoft SQL Server* MySQL* Oracle* DB2* …

Page 10: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFP COM Server auf derServer 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

Page 11: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

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!

Page 12: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

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 CustomerRETURN lcXML

Page 13: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFP COM Server auf derServer Seite verwenden

* Verweis auf „Microsoft CSharp“ hinzufügen

Page 14: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

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

Page 15: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

COM Server Zugriff

* Verwendung

* Daten holen

* De-serialisieren von XML zu „List“

* VfpDataHandler.cs hinzufügen

Page 16: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

Domain Service erweitern

public IQueryable<customer> GetVfpCustomers(){ VfpDataHandler vfpDataHandler = new VfpDataHandler(); return vfpDataHandler.VfpCustomers.Items. AsQueryable<customer>();}

Page 17: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

Noch ein DataGrid

* Beispiel: About.xaml

* Drag&Drop aus „Datenquellen“* customer

* Test

Page 18: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFP COM Server inOOB Client AnwendungenVerweis zu Microsoft.CSharp hinzufügen

using System.Runtime.InteropServices.Automation;

dynamic comvfp = AutomationFactory.CreateObject( "comvfptest.comvfptest");txt1.Text = comvfp.gibsys0();

Page 19: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFP COM Server inOOB Client Anwendungen* nur in Silverlight 4 Anwendungen mit

höherer Vertrauensstellung möglich

if (App.Current.IsRunningOutOfBrowser)

if (App.Current.HasElevatedPermissions)

* Demo

Page 20: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

VFX für SilverlightAction 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

Page 21: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

Der VFP COM Server in VFX für Silverlight

* Ausführung von VFP Funktionen

* Ausführung von FXP Dateien

* Ausführung von APP Dateien

Page 22: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

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

Page 23: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

Weitere Veranstaltungen

* VFX für Silverlight Workshop* 19.05.-20.05. Frankfurt – Lindner Congress Hotel

* VFX Anwendertreffen* 21.05. Frankfurt – Lindner Congress Hotel

Page 24: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

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

Page 25: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

Fragen?

Page 26: Uwe Habermann Uwe@VandU.eu Venelina Jordanova Venelina@VandU.eu VFP Code in Silverlight Anwendungen ausführen.

Vielen Dank undviel Spaß mit Silverlight

wünschenVenelina & Uwe