usage of vfp code in the back-end of silverswitch applications
DESCRIPTION
Usage of VFP code in the back-end of Silverswitch applications. Venelina Jordanova [email protected]. Uwe Habermann [email protected]. VFP COM server. Can be used in any Silverlight application Browser At the client side OOB with elevated trust At the server side At the client side - PowerPoint PPT PresentationTRANSCRIPT
VFP COM server
* Can be used in any Silverlight application* Browser
* At the client side
* OOB with elevated trust* At the server side* At the client side
* Silverlight client executes method in VFP COM server
VFP COM server
* Execution of FXP
* Execution of APP
* Advantages:* COM server need not be re-registered* IIS need not be restarted
VFP COM server* Data access
* Cursoradapter* VFP database* SQL database* All ODBC data sources
* MySQL* Oracle* DB2* …
* Set-up database to use
VFP COM server
* Business logic* Everything, but nothing visible
(no user interface)
VFP COM server
* DEFINE CLASS COMTastrade AS SESSION OLEPUBLIC
* Build as “Multi-threaded COM server (dll)”
* VFP9.exe must be started with Administrator rights explicitly!
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
Use VFP COM server at the server side
* “early binding” in Visual Studio
* COM server must work at development time
* Reference to COM server must be added to the server project
Call a VFP functionprivate 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;}
Call a VFP function
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
* Progammatical call of COM server method, procedure or new instanceof an object from the client side
* Call from Button
* Demo
Action Button
* Pass multiple parameters
* Pass data as parameter
Any questions?
Thank you very much and have fun with Silverlight
Venelina & Uwe