Uwe Habermann Venelina Jordanova Übernahme der Visual FoxPro Geschäftslogik
VFP COM Server * In jeder Silverlight Anwendung verfügbar * Browser * auf der Server Seite * OOB mit erhöhter Vertrauensstellung * auf der Server Seite * auf der Client Seite * Silverlight Client führt Methode in VFP COM Server aus
VFP COM Server * Ausführung aus FXP * Ausführung aus APP * Vorteile: * COM Server muss nicht neu registriert werden * IIS muss nicht neu gestartet werden
VFP COM Server * Datenzugriff * Cursoradapter * VFP Datenbank * SQL Datenbank * Alle ODBC Datenquellen * MySQL * Oracle * DB2 *…*… * Verwendete Datenbank konfigurierbar
VFP COM Server * Geschäftslogik * Alles, was nicht visuell ist
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 * early binding in Visual Studio * COM Server muss zur Entwicklungszeit funktionsfähig sein * Verweis auf COM Server muss dem Server Projekt hinzugefügt werden
Aufruf einer VFP Funktion private void xpgfPageFramePage1cmdProper_Click( object sender, RoutedEventArgs e) { VfxSystemDomainContext context = new VfxSystemDomainContext(); EventHandler handler = new EventHandler(ExecuteVFPCommand_Completed); var ExecuteVFPCommand = context.ExecuteCommandService("proper", xpgfPageFramePage1txtCustomername.Text.ToString(), VfxAppObject.CurrentConnectionInfo.ClientName); ExecuteVFPCommand.Completed += handler; }
Aufruf einer VFP Funktion void ExecuteVFPCommand_Completed( object sender, EventArgs e) { var result = sender as InvokeOperation ; VfxCommandServiceResultBase ValueResult = (VfxCommandServiceResultBase)VfxSerializer. DeserializeObject (result.Value); lblResult.Text = ValueResult.CommandServiceInfo.result; }
Action Button * Progammatischer Aufruf von COM Server Methode, Prozedur oder neue Objektinstanz von der Clientseite * Aufruf auch aus Button möglich * Demo
Action Button * Übergabe mehrerer Parameter möglich * Übergabe von Daten als Parameter möglich
Fragen?
Vielen Dank und viel Spaß mit Silverlight wünschen Venelina & Uwe