Upload
agneth-weyers
View
105
Download
1
Embed Size (px)
Citation preview
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 CustomerRETURN lcXML
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
Aufruf einer VFP Funktionprivate 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<string>;VfxCommandServiceResultBase ValueResult = (VfxCommandServiceResultBase)VfxSerializer.
DeserializeObject<VfxCommandServiceResultBase> (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 undviel Spaß mit Silverlight
wünschenVenelina & Uwe