Übernahme der Visual FoxPro Geschäftslogik - dFPUG

Werbung
Übernahme der
Visual FoxPro Geschäftslogik
Venelina Jordanova
Uwe Habermann
[email protected]
[email protected]
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<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 und
viel Spaß mit Silverlight
wünschen
Venelina & Uwe
Herunterladen