Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Visual Extend Product Manager

Ähnliche Präsentationen


Präsentation zum Thema: "Visual Extend Product Manager"—  Präsentation transkript:

1 Visual Extend Product Manager
VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager VFX Workshop

2 Wer spricht da? Dipl.-Inform. Uwe Habermann Selbstständig seit 1986
Arbeitet mit FoxPro seit FPW 2.5 MCP für VFP Freier Mitarbeiter von u. a. ProLib, Wizards & Builders und ISYS Uwe Habermann & Kathrin Leu GbR Entwickelt Branchenlösung und Individualsoftware Visual Extend Product Manager VFX Workshop

3 Die Themen Erstellen einer Anwendung mit dem VFX Application Wizard/Builder Erstellen von Formularen basierend auf Tabellen OneToMany-Formulare Parent/Child-Builder Treeview-Formulare Erstellen von Formularen basierend auf CursorAdaptern Wechsel von DBC auf SQL-Server und umgekehrt Erstellen von PDF-Dateien und versand Sinnvoller Einsatz von Hooks Produktaktivierung Behandlung von Laufzeitfehlern Aktualisierung der Anwendung und der Datenbank beim Kunden Aktualisierung mit dem neuen Update Project Wizard VFX Workshop

4 Visual Extend 9.5 Aktueller Build VFX 9.50.1621/1718
Features für Entwickler Datenzugriff Features für Endanwender Beispielanwendungen VFX95Traders, VFX95Test, VFPizza Dokumentation VFX Workshop

5 Installation VFX95Setup.exe Vfxmnu.app als Startanwendung einstellen
Beim 1. Start von Vfxmnu.app wird ggf. die VFP Task Pane geöffnet und die VFX 9.0 Task Pane wird hinzugefügt Pfadeinstellungen in den Optionen von VFP sind NICHT erforderlich Wer braucht einen Aktivierungsschlüssel? VFX Workshop

6 VFX 9.5 - Task Pane Verwaltung der VFX-Projekte Anlegen neuer 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 9.5 mit einem Mausklick VFX Workshop

7 VFX 9.5 - Application Wizard
Erstellen neuer Projekte Auswahl des Ordners und der Datenbank Texte für den About-Dialog Einstellungen für das Applikationsobjekt Auswahl aus 17 Sprachen und noch viel mehr Einstellungen  Texte für den Projektinfo-Dialog Alles kompilieren und los geht´s... Projekt: VFPizza, Datenbank: VFP VFX Workshop

8 Die generierte VFX-Anwendung
Splash-Screen Anmeldedialog Menü und Symbolleiste Öffnen-Dialog im XP-Stil Benutzerverwaltung Benutzerrechte Datenbankwartung und vieles andere mehr... VFX Workshop

9 Wie geht es weiter? Anlegen der Datenbank
mit dem VFP Datenbank-Designer oder mit xCase oder mit SDT Kopieren einer vorbereiteten Datenbank VFP.dbc (sowie Bitmaps) VFX Workshop

10 VFX 9.5 – Form Wizard Erstellen eines Formulars basierend auf einer der VFX Formularklassen: cDataFormPage cTreeViewForm cTableForm cOneToMany cTreeViewOneToMany cAskViewArg cWizard Verwendung eigener Formularklassen Beispiel: Kunden.scx VFX Workshop

11 VFX 9.5 – DataEnvironment Builder
Verwaltung der Datenumgebung Hinzufügen von Tabellen und Ansichten Erstellen von CursorAdapter-Klassen on the fly Verwaltung von Indizes und Relationen Indizes können für CursorAdapter erstellt werden Relationen zwischen allen Cursorn mit Index möglich VFX Workshop

12 VFX 9.5 – 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: Kunden.scx VFX Workshop

13 Das Formular zur Laufzeit
Autoedit Inkrementelle Suche im Grid Multi-Column-Sort Benutzerspezifisches Speichern der Einstellungen Größe und Position des Formulars auf dem Desktop Spaltenbreite, Spaltenfolge und Sortierfolge im Grid Suchkriterien VFX Workshop

14 VFX – cOneToMany Builder
Bearbeitung und Suche in Parent-Daten wie bei cDataFormPage Bearbeitung von Child-Daten im Grid Bearbeitung von Child-Daten mit anderen Steuerelementen Unterstützung mehrerer Children Beispiel: Auftrag.scx VFX Workshop

15 Kunden auswählen VFX – CPickField Builder
Auswahl eines Kunden für einen Auftrag Eingabe einer Kundennummer Auswahl eines Kunden aus einer Liste Alle Suchfunktionen bei Listenauswahl VFX Workshop

16 Artikel auswählen VFX – CPickTextbox Builder
Auswahl eines Artikels für eine Auftragsposition Eingabe einer Artikelnummer Auswahl eines Artikels aus einer Liste Alle Suchfunktionen bei Listenauswahl VFX Workshop

17 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äge VFX Workshop

18 VFX – Treeview Perfekte Darstellung hierarchischer Daten wie im Windows-Explorer Reentrante Builder cTreeviewForm cTreeviewOnetoMany Beispiel: Kategorien.scx VFX Workshop

19 Datenzugriff Theorie CursorAdapter Vorteile:
Klasse –> Eigenschaften, Methoden VFX Connection Manager Vorteile: Datenquelle zur Laufzeit austauschbar Informationen zur Datenbank verschlüsselt gespeichert DBC SQL Server Fat Client – Datenzugriff über das Internet VFX Workshop

20 Die Lösung CursorAdapter Vorteile:
Klasse – Vererbung, Eigenschaften, Methoden Einheitlicher Datenzugriff Datenzugriff auf DBC und SQL Server möglich Umschaltbarkeit zur Laufzeit Builder in VFP vorhanden VFX Workshop

21 Remote Views vs. CursorAdapter
Remote View und Connection im DBC gespeichert Nachteil: Verbindungsinformationen im Klartext lesbar ggf. manipulierbar CursorAdapter als programmatische oder visuelle Klasse in die Exe-Datei eingebunden Zur Laufzeit beliebig konfigurierbar Mit DBC und Remote Datenbanken einsetzbar VFX Workshop

22 Wie macht man es richtig?
CursorAdapter-Klasse verwendet ConnectionManager ConnectionManager liest Datenbankinformationen aus Konfigurationsdatei Wichtig: CursorAdapter-Funktionalität unbedingt in einer Klasse speichern VFX Workshop

23 Programmstart Im Init Ereignis des Anwendungsobjekts wird der ConnectionManager instanziiert Beim Instanziieren eines CursorAdapters wird vom ConnectionManager eine Connection geholt Dabei werden aus einer verschlüsselten Tabelle die Datenbankinformationen gelesen Die CursorAdapter-Klasse verwendet die Informationen des ConnectionManagers VFX Workshop

24 CursorAdapter Klasse Herstellen der Verbindung zur Datenbank über den ConnectionManager Holen von ID-Werten Wartbarkeit VFX Workshop

25 IDs IDs sollten von der Datenbank vergeben werden
CursorAdapter ermöglichen diese IDs nach dem Speichern aus der Datenbank zu holen InsertCmdRefreshFieldList – Liste zu holender Felder InsertCmdRefreshCmd – wird nach dem Insert ausgeführt – Hier können IDs geholt werden GETAUTOINCVALUE() bei DBC select * from <myTable> where <IdField>=GETAUTOINCVALUE() bei SQL Server VFX Workshop

26 Connection Manager Klasse
Instanziierung ohne Datenanbindung Herstellen einer(!) Verbindung beim ersten Bedarf Auslesen der Datenbankinformationen aus einer Datei möglich Eine Connection für alle Datenzugriffe der Anwendung Verwendung mehrerer Datenbanken in einer Anwendung VFX Workshop

27 Planen einer neuen Anwendung
Nur mit CusorAdapter arbeiten! basierend auf cBaseDataAccess Vorteile: Es wird nur 1 Verbindung benötigt Austauschbarkeit der Datenquelle Wechsel von DBC zu SQL möglich Entscheidung je Kunde ob DBC oder SQL verwendet werden soll VFX Workshop

28 Datenzugriff Praxis VFX - CursorAdapter Wizard
Neues Formular mit dem VFX - Form Wizard erstellen Test Upsizing Manage Config.vfx VFX Workshop

29 CursorAdapter Wizard Erstellen von CursorAdaptern zu allen Tabellen einer Datenbank für VFP-Datenbanken für Remote-Datenbanken VFX Workshop

30 Formulare basierend auf CursorAdapter
In allen VFX-Formularklassen können CursorAdapter verwendet werden Eingabe der Parameter auf dem Formular Beispiel: KundenCA.scx VFX Workshop

31 Kundenverwaltung mit CA
CDataFormPage caCustomers mit Where-Klausel customername LIKE ?thisform.tcustomername VFX - CDataFormPage Builder - Parameter Hinzufügen von Steuerelementen zur Eingabe der Parameter Automatisches Anlegen der Formulareigenschaften VFX Workshop

32 Auftragsbearbeitung mit CA
COneToMany caOrders mit Where-Klausel customerid=?thisform.tcustomerid caOrderDetails mit Where-Klausel orderid=?caorders.orderid caOrderDetails Foreign Key Name: orderid Foreign Key Value: caorders.orderid VFX – COneToMany Builder Parameter hinzufügen Automatisches Erstellen von OnPostInsert und OnChildRequery Code im Childgrid VFX Workshop

33 Auswahllisten Kunden Artikel CPickAlternate CPickAlterTextbox
VFX Workshop

34 Parent/Child mit CA Wie bei DBC Vollständig optimierter Datenzugriff
Weitere Funktionen-Dialog Symbolleiste Menü VFX Workshop

35 Datenquellen bearbeiten Manage Config.vfx
Verwaltung des Datenzugriffs Dialog in der Anwendung beim Kunden nutzbar Problemloser Wechsel zwischen DBC und SQL Server ConnectionString empfehlenswert Verschlüsselung mit Kennwort Einstellung mit dem Application Builder goprogram.cconfigpassword VFX Workshop

36 Multi-Client-Support
Mandantenfähige Anwendungen mit Remote-Datenbanken! Datenzugriff bearbeiten – Config.vfx Mandantenfähige Anwendungen mit DBC cDatadir="" in Vfxmain.prg Pfadeinstellungen in Vfxpath.dbf Ordner "Data" beim Kunden nicht verwendbar  VFX Workshop

37 VFX – Upsizing Wizard Upsizing der vorhandenen Datenbank auf SQL Server VFX Workshop

38 Test Läuft die Anwendung mit DBC und SQL Server? VFX Workshop

39 Drucken, Speichern als, E-Mail
Drucken ist aus allen Formularen möglich ohne eine Berichtsdatei zu erstellen Auswahl des Zeichensatzes Automatische Summierung Unterstützung der Exportformate von VFP 9 Und PDF-Export versand aller Exportformate VFX Workshop

40 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 PDFOutput.app bei Bedarf Download aus dem Internet vollautomatisch! ggf. wird sogar eine DFÜ-Verbindung für den Internet-Zugang angelegt VFX Workshop

41 Internet und Makrosprache zum Download und zur Installation von Programmen aus dem Internet Installation des Adobe Reader Aktualisierung der Applikation bei Bedarf wird eine DFÜ-Verbindung für den Internet-Zugang angelegt versand aller Berichtsausgaben über MAPI VFX Workshop

42 Fax-Unterstützung Als weitere Option zur Berichtsausgabe
Unterstützte Faxprogramme: AVM FRITZ!fax Symantec Winfax Beispiel: jedes VFX-Formular VFX Workshop

43 Produktaktivierung VFX 9.5-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 VFX Workshop

44 Produktaktivierung Einschalten im VFX - Application Wizard
3. Options Enable product activation Use „FirstInstall.txt“ file Ändern im VFX – Application Builder Eigenschaften des Anwendungsobjekts goProgram.lUseActivation = .T. goProgram.lActivationType= .F. VFX Workshop

45 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 VFX Workshop

46 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> VFX Workshop

47 Produktaktivierung 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 VFX Workshop

48 Die Aktivierung aus der Sicht des Kunden
Aufforderung zu Aktivierung beim Programmstart Anzeige der Registrierungsnummer Eingabe des Aktivierungsschlüssels Aktivierung über das Menü zum Beispiel beim Zukauf von Rechten Übermittlung der Schlüssel per möglich VFX Workshop

49 Registrierung mit Web Service
Cfoxappl.ccompanyname Cfoxappl.cappname Cfoxappl.cwsdl Cfoxappl.cRegisterMethodName Cvfxactivation.nregway=10 Für Web Service VFX Workshop

50 Web Service Projekt unter VFX – Kundenverwaltung
Web Service DLL erstellen Registrationwebservice.dll Projekt unter Anwendung DLL mit Aktivierungsdaten Register<Projektname>.dll Regdata Datenbank vorbereiten Config.vfx richtig einstellen VFX Workshop

51 Aktualisierung von Anwendungen
Einstellmöglichkeiten wie bei Windows Automatischer Download und Installation Automatischer Download Benachrichtigen Deaktivieren Jetzt auf Aktualisierungen prüfen cFoxAppl.lAllowUpdates=.T. cFoxAppl.cIniUrl Vfxsys.UpdType VFX Workshop

52 Vfxsys.UpdType 1 – Automatisches herunterladen und installieren, wenn Aktualisierungen vorhanden sind. Die Überprüfung wird beim ersten Anwendungsstart täglich durchgeführt. 2 – Automatisches herunterladen von Aktualisierungen mit anschließender Frage, ob die Aktualisierung installiert werden soll. Die Überprüfung wird beim ersten Anwendungsstart täglich durchgeführt. 3 – Überprüfung nach verfügbaren Aktualisierungen täglich beim ersten Anwendungsstart. Bei vorhandener aktualisierter Programmversion wird der Benutzer gefragt, ob er die Aktualisierung herunterladen und installieren will. 4 – Manuelle Überprüfung. Die Überprüfung auf Aktualisierungen kann aus dem Menü aufgerufen werden. VFX Workshop

53 Vfxsys.UpdateApp D: ftp://<domain>/meineExeDatei.vfx oder D: wird in SYS(2023)-Ordner gespeichert Austausch der laufenden Exe-Datei mittels Loader.exe VFX Workshop

54 Aktualisierung der Datenbank beim Kunden
Aktualisierung von allen in Config.vfx eingetragenen Datenbanken DBC SQL VFX Workshop

55 Fehlerbehandlung Anzeige von Laufzeitfehlern in bekannten Windows-Dialogen <g> Akzeptanz durch Benutzer Fehlerberichte können per an den Entwickler gesendet werden VFX Workshop

56 Fehlerbehandlung Was soll passieren, wenn ein Fehler auftritt?
goProgram.nAppOnErrorBehavior= 0 – alle Fehler ignorieren 1 – Anzeige einer Fehlermeldung (Standardwert) 2 - Programmabbruch Welche Fehlerinformationen werden protokolliert? goProgram.ErrorDetailLevel= 0 – nur die Fehlermeldung 1 – Fehlermeldung und Aufrufstapel (Standardwert) 2 – detaillierte Fehlerinformationen (Standardverhalten bis VFX 7.1) Versand des Fehlerprotokolls per goProgram.csupport VFX Workshop

57 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. 1 Ausführung abbrechen, Rückgabewert .F. VFX Workshop

58 Hooks FUNCTION eventhookhandler(tcevent, toobject, toform)
LOCAL lcontinue lcontinue = .T. DO CASE CASE UPPER(tcevent)=="INIT" CASE UPPER(toobject.baseclass)=="GRID" toobject.allowrowsizing=.F. toobject.allowheadersizing=.F. VFX Workshop

59 Update Project Wizard Vollautomatische Aktualisierung bestehender VFX-Anwendungen Aktualisierung auf den neuesten VFX Build VFX Workshop

60 Weitere Features für Entwickler
Task Panes VFX 9.5 VFX-Community Viele neue Wizards und Builder Project Update Wizard Application Builder CursorAdapter Wizard Parent/Child Builder Audit Trigger Wizard Project Documenting VFX Workshop

61 Benutzerverwaltung Verwaltung von Benutzergruppen mit Rechten
Protokolle und Sichten für aktiv eingeloggte Anwender (für exklusive Tasks) VFX Workshop

62 Suchdialog Beliebig viele Filterbedingungen kombinierbar
Einstellungen je Formular und Benutzer gespeichert Nur sinnvolle Operatoren Keine ungültigen Eingaben möglich VFX Workshop

63 Datum und Zeit neuer Kalender Hotkeys zur Datumsauswahl
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 VFX Workshop

64 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 VFX Workshop

65 Einstellung der Sprache zur Laufzeit
Runtime Localization Im Anmeldedialog In einer Combobox in der Symbolleiste Beispiel: VFPizza und VFX95Traders VFX Workshop

66 Datensicherung mit ZIP-Funktion
ZIP-Algorithmus in VFX 9.5 integriert Datensicherung der aktuellen Datenbank in eine Zip-Datei über einen Menüpunkt Wiederherstellung der aktuellen Datenbank aus einer Zip-Datei über einen Menüpunkt direkter Aufruf der ZIP-Funktionen für eigene Anwendungen möglich VFX Workshop

67 VFX.fll Internet, E-Mail und Hilfsfunktionen Produktaktivierung
Datensicherung SQL Server Achtung: Die VFX.fll muss an den Kunden mitgeliefert werden! VFX Workshop

68 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 VFX Workshop

69 Wichtige VFX-Methoden
Valid auf Formularebene OnRecordMove OnPostInsert OnSave OnPrint OnPrev, OnNext, OnTop, OnBottom VFX Workshop

70 Dokumentenverwaltung
Container-Klasse zur Verwaltung von Dokumenten Per Drag & Drop auf jedem Formular einsetzbar Einfache Konfiguration Dokumente sind „Children“ Beispiel: Parent.scx in VFX95Test VFX Workshop

71 Audit-Trail Neuer Trigger Wizard! 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 VFX Workshop

72 Was noch? Integriertes Werkzeug für die Datenbankreparatur
Konfigurieren einer DFÜ-Netzwerkverbindung Define DUN connection parameters Integration eines Fernwartungsprogramms Automatische Installation des Abobe Reader beim Kunden Und vieles mehr…  VFX Workshop

73 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 VFX Workshop

74 Lokalisierung VFX – Language Management Builder
Auswahl der Sprachen bei Lokalisierung zur Laufzeit VFX – Langsetup Builder Unterstützung von Klassen Unterstützung von Berichten Unterstützung von Vfxfopen.dbf Rekursiver Aufruf der LangSetup-Methode in allen Steuerelementen VFX Workshop

75 Fragen ? VFX Workshop

76 VFX95Test Benutzergruppen Dokument-Container COneToManyPageFrame
Geschäftsgrafiken mit CBusinessGraph Menü Extras VFX Workshop

77 VFX95Traders Basierend auf Tastrade.dbc Office Compatible
Drucken, Speichern, versand, Fax 1:n Formulare mit Auswahllisten Produktaktivierung Aktualisierung der Anwendung über das Internet Kundenverwaltung, Versionsverwaltung Fernwartung VFX Workshop

78 Links Download und Infos zu VFX: Mehr Infos zu VFX:
portal.dfpug.de, Reiter/Verzeichnis VFX Mehr Infos zu VFX: Kostenloser Support zu VFX: news.dfpug.de / forum.dfpug.de VFX Workshop

79 Vielen Dank für Euer Interesse!
Viel Spaß mit VFX 9.5 wünscht Uwe Habermann VFX Workshop E-CA

80 Pause! VFX Workshop


Herunterladen ppt "Visual Extend Product Manager"

Ähnliche Präsentationen


Google-Anzeigen