24
Uwe Habermann [email protected] WPF Avalon Formulare aus VFP verwenden Venelina Jordanova [email protected]

Uwe Habermann [email protected] WPF Avalon Formulare aus VFP verwenden Venelina Jordanova [email protected]

Embed Size (px)

Citation preview

Page 1: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Uwe [email protected]

WPFAvalon Formulare

aus VFP verwenden

Venelina [email protected]

Page 2: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Agenda

* Was ist WPF?

* Architektur

* Voraussetzungen beim Entwickler

* Voraussetzungen beim Kunden

* Beispiele• Eigene Beispiele• Avalon Patient Monitoring

Page 3: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Was wollen wir eigentlich?

* VFP Anwendung

* WPF Benutzeroberfläche

* Mehrschichtenarchitektur

*Fragen? Jederzeit!

Page 4: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Windows Presentation Foundation

* Technologie für Benutzeroberflächen

* Enthalten im .NET Framework 3.0

* Benutzung aus Visual Studio einfach möglich

* XAML Formulare

* Viele Steuerelemente

* Vererbung

Page 5: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Aus der Sicht von VFP

* Formulare

* Datenanbindung* Controlsource

* Event Anbindung• Interactivechange• Valid

Page 6: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Konzept / Architektur

* Mehrschichtenarchitetur

* Entwicklungsumgebungen• VFP

* Möglichst viel

• Visual Studio* Möglichst wenig und generisch

Page 7: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Konzept / Architektur* Datenbank

• VFP, SQL Server, andere

* Datenzugriff• VFP Cursoradapter

* Geschäftslogik• VFP

* Steuerung• .NET DLL

* Benutzeroberfläche• XAML

Page 8: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

VFP Layer

VFP Business rules classes

VFP Data Access

Database Layer

MS SQL MySQLOracleDB/2VFP

WPF Layer

Generic .Net object that renders XAML and gives feedback to VFP application for events

Page 9: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

VFP Exe-DateiSteuerung

Geschäftslogik

Daten-bank

.NETWPF Manager DLL

XAMLBenutzeroberfläche

VFP COM ServerBackend Provider DLL

Page 10: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Hauptprogramm, Rahmen

* VFP Projekt

* Datenzugriff

* Geschäftslogik

* Ansteuerung von WPF

* unsichtbar

Page 11: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Benutzeroberfläche

* MDI Interface• Multiple Document Interface• Steuerung mit Menü und/oder Symbolleiste

* Sichtbarer Rahmen

* Formulare

Page 12: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Ablauf

* Start VFP Anwendung

* Initialisierung Mittelschicht Komponenten

* Datenanbindung

* Anzeige der Benutzeroberfläche

Page 13: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

VFP Layer

VFP Business rules classes

VFP Data Access

Database Layer

WPF Layer

Start

User clicks a toolbar button

VFP code decides what action to take: start a new form

CA object

Business rules and process flow control object

WPF form

time

BackendDataprovider object WPFBackend.DLL

Process flow (object instantiating and events firing)

Data flow

Sta

rt W

PF

M

ain

fo

rm

Sta

rt W

PF

su

b-f

orm

refe

ren

ce

User Action:Tab key pressed

Render UI

Fir

e L

ost

Fo

cus

ev

ent

User Action:Close button clicked

Fir

e C

los

ing

ev

en

t

Save?

Can

ce

l cl

os

ing

– Y

es

/No

Page 14: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Geschäftslogik

* Gewohntes VFP

* Ereignisse aus der WPF Benutzeroberfläche steuern die Geschäftslogik

Page 15: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Datenzugriff

* Gewohntes VFP

* Cursoradapter• Objektorientiert!

* Alle unterstützen Datenbanken

Page 16: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Datenbank

* VFP DBC

* SQL Server

* Andere• ODBC• OLE DB• Muss mit Cursoradapter erreichbar sein

Page 17: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Data Binding

* Controlsource in VFP

* Definierte Eigenschaft Controlsource in WPF

* Realisierung mit VFP COM Server

Page 18: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Event Binding

* Reagieren auf Ereignisse* Beispiele:

Valid, When, Gotfocus, Lostfocus, Interactivechange, Keypress, Init, Destroy, Click, Dblclick, Rightclick

* WPF -> WPF Manager DLL

-> VFP BackendDataProvider -> VFP cursor

Page 19: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Entwicklung der Benutzeroberfläche

* Editor

* Microsoft Expression Blend

Page 20: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Bereitstellung der Benutzeroberfläche

* XAML Formulare in VFP Anwendung

* WPF Manager DLL• Schicht zwischen VFP und .NET• Mit Visual Studio erstellt• Anzeige der XAML Formulare

Page 21: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Voraussetzungen beim Entwickler

* VFP 9

* .NET Framework 3.0

* Visual Studio 2008

* Expression Blend

Page 22: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Voraussetzungen beimKunden

* .NET Framework 3.0• Installierbar auf XP und 2003• Enthalten in Vista

* WPF Manager DLL mit Regasm registrierenC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe <DLL Path>\WpfInterface.dll

/codebase /tlb:WpfInterface.tlb

* VFP Runtime

* Dateien der Anwendung

Page 23: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

BeispielanwendungHealthcare

* Avalon Patient Monitoring

* Optisch ansprechend

* Keine Datenanbindung

Page 24: Uwe Habermann Uwe@VandU.eu WPF Avalon Formulare aus VFP verwenden Venelina Jordanova Venelina@VandU.eu

Vielen Dank undviel Spaß mit WPF!

Venelina & Uwe