Upload
niklaus-rambo
View
106
Download
2
Embed Size (px)
Citation preview
© 2004 Uwe Habermann
Visual Extend 8.0Workshop
Diplom-Informatiker
Uwe HabermannVisual Extend Product Manager
für Visual FoxPro
© 2004 Uwe Habermann
Wer spricht da?
Dipl.-Inform. Uwe Habermann Selbstständig seit 1986 Arbeitet seit 10 Jahren mit FoxPro MCP für VFP Freier Mitarbeiter von u. a. ProLib und ISYS Uwe Habermann & Kathrin Leu GbR
• Entwickelt Branchenlösung und Individualsoftware Visual Extend Product Manager
© 2004 Uwe Habermann
Was hören wir heute?
Visual Extend 8.0 Wofür braucht man das? Features für den Endkunden Features für den Entwickler Entwicklung einer Beispielanwendung
• Adressverwaltung• Fakturierung• Formulare zur Datenbearbeitung• 1:n Formulare
© 2004 Uwe Habermann
VFX – Wer braucht das?
Gute Lernmöglichkeit um die Erstellung komplexer Anwendungen in VFP verstehen zu lernen
Umfangreiche Klassenbibliotheken Produktaktivierung E-Mailversand Audit-Trail OLE-Ansteuerung von Office-Anwendungen
Erforderliche Vorkenntnisse: gering
© 2004 Uwe Habermann
VFX 8.0 - Was ist das?
Builder-unterstütztes RAD-Framework
Installation
• Template-Applikation
• Task Pane
• Builder
Aktivierungsschlüssel
© 2004 Uwe Habermann
VFX 8.0 - Was kann das?
Fertiger Rahmen der Anwendung mit vielen Funktionen Erstellung Office kompatibler Anwendungen Builder für
• Formulare, wahlweise mit Seitenrahmen
• 1:n Formular
• Grid
• verschiedene Auswahllisten
• mehrsprachige Anwendungen
• Produktaktivierung
• SQL Server Datenbankaktualisierung
• kontextsensitive Hilfe DBC oder C/S
© 2004 Uwe Habermann
VFX 8.0 - Task Pane
Verwaltung der VFX-Projekte
• Beim Öffnen wird der aktuelle Pfad auf den Projektordner gesetzt
Anlegen neuer Projekte Kompilieren vorhandener Projekte Bearbeiten der Project Properties
• Ermöglicht die Verwendung eigener Klassen von den VFX Buildern
Informationen über VFX 8.0 mit einem Mausklick
© 2004 Uwe Habermann
VFX 8.0 Menü
Produktaktivierung
• Define Activation Rules
• Create Activation Key
SQL Server Update
• Metadata Wizard
Konfigurieren einer DFÜ-Netzwerkverbindung
• Define DUN connection parameters
© 2004 Uwe Habermann
VFX - Application Wizard
Erstellen neuer Projekte
1. Auswahl des Ordners und der Datenbank
2. Texte für den About-Dialog
3. Einstellungen für das Applikationsobjekt
4. Texte für den Projektinfo-Dialog
5. Alles kompilieren und los geht´s...
© 2004 Uwe Habermann
Die generierte VFX-Anwendung
Splash-ScreenAnmeldedialogMenü und SymbolleisteÖffnen-DialogBenutzerverwaltungBenutzerrechteDatenbankwartungund vieles andere mehr...
© 2004 Uwe Habermann
Wie geht es weiter?
Anlegen der Datenbank
• mit dem VFP Datenbank-Designer
• oder mit xCase
• oder mit SDT
© 2004 Uwe Habermann
VFX – Form Wizard
Erstellen eines Formulars basierend auf einer der VFX Formularklassen:
• cDataFormPage
• cTreeViewForm
• cTableForm
• cOneToMany
• cTreeViewOneToMany
• cAskViewArg
• cWizard Verwendung eigener Formularklassen
© 2004 Uwe Habermann
VFX – cDataFormPage Builder
Reentranter Builder• Steuerelemente auf Seitenrahmen• Such-Grid mit vielen Funktionen • Formulareigenschaften
Verwendung eigener Klassen• Entsprechend den Vorgaben aus dem DBC• Entsprechend den Einstellungen in den
VFX - Project Properties
Beispiel: Lieferanten
© 2004 Uwe Habermann
Das Formular zur Laufzeit
Autoedit Inkrementelle Suche im Grid
• Multi-Column-Sort Suchdialog (setzt Filter) Drucken, PDF-Export, E-Mailversand Benutzerspezifisches Speichern der Einstellungen
• Größe und Position des Formulars auf dem Desktop
• Spaltenbreite, Spaltenfolge und Sortierfolge im Grid
• Suchkriterien
© 2004 Uwe Habermann
VFX- CTableForm Builder
Reentranter Builder
• Such-Grid und Bearbeitungsfelder sind nebeneinander angeordnet
Verwendung eigener Klassen
• Entsprechend den Vorgaben aus dem DBC
• Entsprechend den Einstellungen in denVFX - Project Properties
Beispiel: Versandfirmen
© 2004 Uwe Habermann
Erweiterte Grid Reports
• Auswahl des Zeichensatzes
• Summieren numerischer Spalten
PDF-Export
E-Mailversand
© 2004 Uwe Habermann
PDF-Export – Wie geht das?
Ausgabe der Berichtsausgabe über einen Postscript-Druckertreiber in eine Datei
• bei Bedarf automatische Installation eines Postscript-Druckertreibers
Konvertierung der Postscript-Datei in eine PDF-Datei mit dem Freeware-Tool Ghostscript
• bei Bedarf Download aus dem Internet und Installation von Ghostscript vollautomatisch!
• ggf. wird sogar eine DFÜ-Verbindung für den Internet-Zugang angelegt
© 2004 Uwe Habermann
Treeview
Perfekte Darstellung hierarchischer Daten wie im Windows-Explorer
Reentrante Builder
• cTreeviewForm
• cTreeviewOnetoMany
© 2004 Uwe Habermann
1:n-Formulare
cOneToMany
• Bearbeitung und Suche der Parent-Daten wie in cDataFormPage
• Bearbeitung der Child-Daten im Grid
• Mehrere Children möglich
Beispiel: OrdEntry.scx
© 2004 Uwe Habermann
Linked-Child-Formulare
Aufruf eines Child-Formulars Hierarchische Verknüpfung möglich Beliebig viele Children möglich Eigenschaften zur Steuerung
• lCloseChildformOnExit
• lAutoSyncChildform
Beispiel: Kunden - AufträgeCustomer.scx – OrdEntry.scx
© 2004 Uwe Habermann
Internet und E-Mail
Makrosprache zum Download und zur Installation von Programmen aus dem Internet
• Installation von Ghostscript
• Aktualisierung der Applikation
• bei Bedarf wird eine DFÜ-Verbindung für den Internet-Zugang angelegt
E-Mailversand aller Berichtsausgaben über MAPI
© 2004 Uwe Habermann
Aktualisierung der Anwendungüber das Internet
ftp://<meinserver>/meineExeDatei.vfxoderhttp://<meinserver>/meineExeDatei.vfxwird in SYS(2023)-Ordner gespeichert
Austausch der laufenden Exe-Datei mittels Loader.exe
© 2004 Uwe Habermann
Produktaktivierung
VFX 8.0-Anwendungen können mit einem Aktivierungsschlüssel geschützt werden
Getrennter Schutz für bis zu 32 Module einer Anwendung
Die zur Erstellung des Installationsschlüssels verwendeten Kriterien können je Anwendung vom Entwickler festgelegt werden
© 2004 Uwe Habermann
Define Activation Rules
Definition der Hardware- oder Software-Parameter
• Ausdruck
• CPU Number
• File Creation Date
• HDD Factory Serial Number
• HDD Volume Serial Number
• LAN Card Number
• Registry Key Value je Anwendung beliebig kombinierbar Regeln speicherbar
© 2004 Uwe Habermann
Define Activation Rules
Vergabe der Rechte
bis zu 32 Einzelrechte je Anwendung
jedes Recht kann unabhängig von den anderen Rechten freigeschaltet werden
Zugriff zur Laufzeit über goProgram.SecurityRights.<RechtName>
© 2004 Uwe Habermann
Create Activation Key
Eingabe des Installationsschlüssels Auswahl der freizuschaltenden Rechte Erstellen eines Aktivierungsschlüssels
Werte zur Laufzeit goProgram.SecurityRights.<RechtName>=
• -1 – nicht aktiviert
• 0 – nicht freigeschaltet
• 1 – freigeschaltet
© 2004 Uwe Habermann
Die Aktivierung aus der Sicht des Kunden
Aufforderung zu Aktivierung beim Programmstart
• Anzeige des Installationsschlüssels
• Eingabe des Aktivierungsschlüssels
Aktivierung über das Menü
• zum Beispiel beim Zukauf von Rechten
Übermittlung der Schlüssel per E-Mail möglich
© 2004 Uwe Habermann
Ansichtsbasierende Formulare
Ansichten können in allen VFX-Formularen verwendet werden
• thisform.lWorkOnView=.T.
Eingabe der Ansichtsparameter
• CAskViewArg
• CAskViewArgPgf
Beispiel: Mitarbeiter
© 2004 Uwe Habermann
Fehlerbehandlung
Was soll passieren, wenn ein Fehler auftritt?• goProgram.nAppOnErrorBehavior=
- 0 – alle Fehler ignorieren- 1 – Anzeige einer Fehlermeldung (Standardwert)- 2 - Programabbruch
Welche Fehlerinformationen werden protokolliert?• goProgram.ErrorDetailLevel=
- 0 – nur die Fehlermeldung- 1 – Fehlermeldung und Aufrufstapel (Standardwert)- 2 – detaillierte Fehlerinformationen
(Standardverhalten bis VFX 7.1)
© 2004 Uwe Habermann
Datensicherung mit Zip-Funktion
Zip-Algorithmus in VFX 8.0 integriert
Datensicherung der aktuellen Datenbank in eineZip-Datei über einen Menüpunkt
Wiederherstellung der aktuellen Datenbank aus einer Zip-Datei über einen Menüpunkt
direkter Aufruf der Zip-Funktionenfür eigene Anwendungen möglich
© 2004 Uwe Habermann
Suchdialog
Beliebig viele Filterbedingungen kombinierbar
Einstellungen je Formular und Benutzer gespeichert
© 2004 Uwe Habermann
Aktualisierung der Kundendatenbank
Vollständig überarbeitete Aktualisierung der Kunden-Datenbanken
• Korrekte Funktion auch bei Verwendung von Insert-Triggern
• Wiederherstellung des ursprünglichen Zustands im Fehlerfall
© 2004 Uwe Habermann
Aktualisierung einer SQL Server-Datenbank
Metadata Wizard beim Entwickler erstellt Datadict.dbf anhand der eigenen SQL
Server-Datenbank
Aktualisierung beim Kunden mittels Datadict.dbf wird die SQL Server-Datenbank
angelegt oder aktualisiert
© 2004 Uwe Habermann
Datum und Zeit
neuer Kalender
• basierend auf MonthView Control
• keine OCX-Installation erforderlich Hotkeys zur Datumsauswahl
• H – heute
• A – Anfang des Jahres
• B – Beginn des Monats
• +/- - 1 Tag vorwärts oder zurück Eingabe von Datetime-Werten
© 2004 Uwe Habermann
Wichtige VFX-Methoden
Valid auf Formularebene OnRecordMove OnPostInsert OnSave OnPrint OnPrev, OnNext, OnTop, OnBottom
© 2004 Uwe Habermann
DataEnvironment-Klasse
Die Klasse DataEnvironment von VFP 8 wird in allen Formularen unterstützt
© 2004 Uwe Habermann
VFX-Menü-Designer
WYSIWYG
Unterstützung aller Menü-Features, die VFP bietet• Schriftartattribute, Effekte• alle Events• Menüeinträge mit Markierung
Unterstützung von Konstanten• sprachunabhängige Menüs
Project Hook
© 2004 Uwe Habermann
VFX.fll
Internet, E-Mail und Hilfsfunktionen
Produktaktivierung
Datensicherung
SQL Server
Achtung: Die VFX.fll muss an den Kunden
mitgeliefert werden!
© 2004 Uwe Habermann
Hooks
Einschalten in Vfxmain.prg• nEnableHook=1 Enabled, 2 Disabled, 0 Use form setting
Rückgabewerte steuern das Verhalten
• .T.Ausführung fortsetzen
• 0 oder .F.Ausführung abbrechen, Rückgabewert .T.
• 1Ausführung abbrechen, Rückgabewert .F.
© 2004 Uwe Habermann
Beispiele für Hooks
DisabledBackcolor Grid-Sizing verhindern Inputbox mit Taschenrechner Rechtschreibprüfung
© 2004 Uwe Habermann
OLE drag & drop
Vollständig generisch in VFX integriert
• aus einem Steuerelement- nOLEenabledrag=1- nOLEdropForceEditmode=1
• aus einer Seite eines Seitenrahmens unter Berücksichtigung der Taborder
- nPageOLEdragdrop=1
• aus einem Grid- immer eingeschaltet
Unterstützung aller Datentypen
© 2004 Uwe Habermann
Multi-Client-Support
Mandantenfähige Anwendungen
• cDatadir="" in Vfxmain.prg
• Pfadeinstellungen in Vfxpath.dbf
Ordner "Data" beim Kunden nicht verwendbar
© 2004 Uwe Habermann
Audit-Trail
Trigger in den Tabellen
• _audit_insert()
• _audit_update()
• _audit_delete()
Anzeige des Protokolls über ein VFX-Formular Und-Verknüpfung mit anderen Triggern möglich
© 2004 Uwe Habermann
Links
Download und Infos zu VFX: • www.visualextend.de
Mehr Infos zu VFX: • www.my-vfx.de
Kostenloser Support zu VFX:• news.dfpug.de
Wünsche aüßern:• [email protected]
© 2004 Uwe Habermann
Wir haben das Ziel erreicht!
Die Anwendung ist fertig. Kompletter Rahmen durch VFX erstellt Datenbank mit üblichen Tools erstellt Formulare mit den VFX Buildern erstellt Bearbeitung mit VFP zu jeder Zeit Hohe Qualität = zufriedene Kunden
© 2004 Uwe Habermann
Vielen Dank für Ihr Interesse!
Viel Spaß mit VFX 8.0 wünscht
Uwe Habermann