VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager...

80
VFX 9.5 - Workshop VFX 9.5 - Workshop VFX 9.5 – Workshop VFX 9.5 – Workshop Uwe Habermann Uwe Habermann Visual Extend Product Manager Visual Extend Product Manager [email protected] [email protected]

Transcript of VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager...

Page 1: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX 9.5 – Workshop VFX 9.5 – Workshop

Uwe HabermannUwe HabermannVisual Extend Product ManagerVisual Extend Product Manager

[email protected]@dFPUG.de

Page 2: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Wer spricht da? Wer spricht da?

Dipl.-Inform. Uwe HabermannDipl.-Inform. Uwe Habermann Selbstständig seit 1986Selbstständig seit 1986 Arbeitet mit FoxPro seit FPW 2.5Arbeitet mit FoxPro seit FPW 2.5 MCP für VFPMCP für VFP Freier Mitarbeiter von u. a. ProLib, Wizards Freier Mitarbeiter von u. a. ProLib, Wizards

& Builders und ISYS& Builders und ISYS Uwe Habermann & Kathrin Leu GbRUwe Habermann & Kathrin Leu GbR

– Entwickelt Branchenlösung und Entwickelt Branchenlösung und IndividualsoftwareIndividualsoftware

Visual Extend Product ManagerVisual Extend Product Manager

Page 3: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Die ThemenDie Themen

Erstellen einer Anwendung mit dem VFX Application Erstellen einer Anwendung mit dem VFX Application Wizard/BuilderWizard/Builder

Erstellen von Formularen basierend auf TabellenErstellen von Formularen basierend auf Tabellen OneToMany-FormulareOneToMany-Formulare Parent/Child-BuilderParent/Child-Builder Treeview-FormulareTreeview-Formulare Erstellen von Formularen basierend auf CursorAdapternErstellen von Formularen basierend auf CursorAdaptern Wechsel von DBC auf SQL-Server und umgekehrtWechsel von DBC auf SQL-Server und umgekehrt Erstellen von PDF-Dateien und E-MailversandErstellen von PDF-Dateien und E-Mailversand Sinnvoller Einsatz von HooksSinnvoller Einsatz von Hooks ProduktaktivierungProduktaktivierung Behandlung von LaufzeitfehlernBehandlung von Laufzeitfehlern Aktualisierung der Anwendung und der Datenbank beim Aktualisierung der Anwendung und der Datenbank beim

KundenKunden Aktualisierung mit dem neuen Update Project WizardAktualisierung mit dem neuen Update Project Wizard

Page 4: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Visual Extend 9.5Visual Extend 9.5

Aktueller Build VFX 9.50.1621/1718Aktueller Build VFX 9.50.1621/1718 Features für EntwicklerFeatures für Entwickler

– DatenzugriffDatenzugriff Features für EndanwenderFeatures für Endanwender BeispielanwendungenBeispielanwendungen

– VFX95Traders, VFX95Test, VFPizzaVFX95Traders, VFX95Test, VFPizza DokumentationDokumentation

Page 5: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

InstallationInstallation

VFX95Setup.exeVFX95Setup.exe Vfxmnu.app als Startanwendung Vfxmnu.app als Startanwendung

einstelleneinstellen Beim 1. Start von Vfxmnu.app wird ggf. Beim 1. Start von Vfxmnu.app wird ggf.

die VFP Task Pane geöffnet und die VFX die VFP Task Pane geöffnet und die VFX 9.0 Task Pane wird hinzugefügt9.0 Task Pane wird hinzugefügt

Pfadeinstellungen in den Optionen von Pfadeinstellungen in den Optionen von VFP sind NICHT erforderlichVFP sind NICHT erforderlich

Wer braucht einen Aktivierungsschlüssel?Wer braucht einen Aktivierungsschlüssel?

Page 6: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX 9.5 - Task PaneVFX 9.5 - Task Pane

Verwaltung der VFX-ProjekteVerwaltung der VFX-Projekte– Beim Öffnen wird der aktuelle Pfad auf den Beim Öffnen wird der aktuelle Pfad auf den

Projektordner gesetztProjektordner gesetzt Anlegen neuer ProjekteAnlegen neuer Projekte Kompilieren vorhandener ProjekteKompilieren vorhandener Projekte Bearbeiten der Project PropertiesBearbeiten der Project Properties

– Ermöglicht die Verwendung eigener Klassen Ermöglicht die Verwendung eigener Klassen von den VFX Buildernvon den VFX Buildern

Informationen über VFX 9.5 mit einem Informationen über VFX 9.5 mit einem MausklickMausklick

Page 7: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX 9.5 - Application VFX 9.5 - Application Wizard Wizard Erstellen neuer ProjekteErstellen neuer Projekte

– Auswahl des Ordners und der DatenbankAuswahl des Ordners und der Datenbank– Texte für den About-DialogTexte für den About-Dialog– Einstellungen für das ApplikationsobjektEinstellungen für das Applikationsobjekt

Auswahl aus Auswahl aus 1717 Sprachen Sprachen und noch viel mehr Einstellungen und noch viel mehr Einstellungen

– Texte für den Projektinfo-DialogTexte für den Projektinfo-Dialog– Alles kompilieren und los geht´s...Alles kompilieren und los geht´s...

Projekt: VFPizza, Datenbank: VFPProjekt: VFPizza, Datenbank: VFP

Page 8: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Die generierte VFX-Die generierte VFX-AnwendungAnwendung

– Splash-ScreenSplash-Screen– AnmeldedialogAnmeldedialog– Menü und SymbolleisteMenü und Symbolleiste– Öffnen-Dialog im XP-StilÖffnen-Dialog im XP-Stil– BenutzerverwaltungBenutzerverwaltung– BenutzerrechteBenutzerrechte– DatenbankwartungDatenbankwartung– und vieles andere mehr...und vieles andere mehr...

Page 9: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Wie geht es weiter?Wie geht es weiter?

Anlegen der DatenbankAnlegen der Datenbank– mit dem VFP Datenbank-Designermit dem VFP Datenbank-Designer– oder mit xCaseoder mit xCase– oder mit SDToder mit SDT

Kopieren einer vorbereiteten Kopieren einer vorbereiteten DatenbankDatenbank– VFP.dbc (sowie Bitmaps)VFP.dbc (sowie Bitmaps)

Page 10: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX 9.5 – Form WizardVFX 9.5 – Form Wizard

Erstellen eines Formulars basierend auf Erstellen eines Formulars basierend auf einer der VFX Formularklassen:einer der VFX Formularklassen:– cDataFormPagecDataFormPage– cTreeViewFormcTreeViewForm– cTableFormcTableForm– cOneToManycOneToMany– cTreeViewOneToManycTreeViewOneToMany– cAskViewArgcAskViewArg– cWizardcWizard

Verwendung eigener FormularklassenVerwendung eigener Formularklassen Beispiel: Kunden.scxBeispiel: Kunden.scx

Page 11: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX 9.5 – VFX 9.5 – DataEnvironment BuilderDataEnvironment Builder Verwaltung der DatenumgebungVerwaltung der Datenumgebung

– Hinzufügen von Tabellen und AnsichtenHinzufügen von Tabellen und Ansichten– Erstellen von CursorAdapter-Klassen on Erstellen von CursorAdapter-Klassen on

the flythe fly Verwaltung von Indizes und RelationenVerwaltung von Indizes und Relationen

– Indizes können für CursorAdapter erstellt Indizes können für CursorAdapter erstellt werdenwerden

– Relationen zwischen allen Cursorn mit Relationen zwischen allen Cursorn mit Index möglichIndex möglich

Page 12: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX 9.5 – VFX 9.5 – cDataFormPage BuildercDataFormPage Builder Reentranter BuilderReentranter Builder

– Steuerelemente auf SeitenrahmenSteuerelemente auf Seitenrahmen– Such-Grid mit vielen Funktionen Such-Grid mit vielen Funktionen – FormulareigenschaftenFormulareigenschaften

Verwendung eigener KlassenVerwendung eigener Klassen– Entsprechend den Vorgaben aus dem DBCEntsprechend den Vorgaben aus dem DBC– Entsprechend den Einstellungen in denEntsprechend den Einstellungen in den

VFX - Project PropertiesVFX - Project Properties Beispiel: Kunden.scxBeispiel: Kunden.scx

Page 13: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Das Formular zur Das Formular zur LaufzeitLaufzeit AutoeditAutoedit Inkrementelle Suche im GridInkrementelle Suche im Grid

– Multi-Column-SortMulti-Column-Sort Benutzerspezifisches Speichern der Benutzerspezifisches Speichern der

EinstellungenEinstellungen– Größe und Position des Formulars auf dem Größe und Position des Formulars auf dem

DesktopDesktop– Spaltenbreite, Spaltenfolge und Sortierfolge im Spaltenbreite, Spaltenfolge und Sortierfolge im

GridGrid– SuchkriterienSuchkriterien

Page 14: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX – cOneToMany VFX – cOneToMany BuilderBuilder cOneToManycOneToMany

– Bearbeitung und Suche in Parent-Daten Bearbeitung und Suche in Parent-Daten wie bei cDataFormPagewie bei cDataFormPage

– Bearbeitung von Child-Daten im GridBearbeitung von Child-Daten im Grid– Bearbeitung von Child-Daten mit Bearbeitung von Child-Daten mit

anderen Steuerelementenanderen Steuerelementen– Unterstützung mehrerer ChildrenUnterstützung mehrerer Children

Beispiel: Auftrag.scxBeispiel: Auftrag.scx

Page 15: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Kunden auswählenKunden auswählenVFX – CPickField BuilderVFX – CPickField Builder Auswahl eines Kunden für einen Auswahl eines Kunden für einen

AuftragAuftrag• Eingabe einer KundennummerEingabe einer Kundennummer• Auswahl eines Kunden aus einer ListeAuswahl eines Kunden aus einer Liste

Alle Suchfunktionen bei ListenauswahlAlle Suchfunktionen bei Listenauswahl

Page 16: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Artikel auswählenArtikel auswählenVFX – CPickTextbox VFX – CPickTextbox BuilderBuilder Auswahl eines Artikels für eine Auswahl eines Artikels für eine

AuftragspositionAuftragsposition• Eingabe einer ArtikelnummerEingabe einer Artikelnummer• Auswahl eines Artikels aus einer ListeAuswahl eines Artikels aus einer Liste

Alle Suchfunktionen bei ListenauswahlAlle Suchfunktionen bei Listenauswahl

Page 17: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Linked-Child-FormulareLinked-Child-Formulare

Aufruf eines Child-FormularsAufruf eines Child-Formulars Hierarchische Verknüpfung möglichHierarchische Verknüpfung möglich Beliebig viele Children möglichBeliebig viele Children möglich Eigenschaften zur SteuerungEigenschaften zur Steuerung

– lCloseChildformOnExitlCloseChildformOnExit– lAutoSyncChildformlAutoSyncChildform

Beispiel: Kunden - AufträgeBeispiel: Kunden - Aufträge

Page 18: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX – TreeviewVFX – Treeview

Perfekte Darstellung hierarchischer Perfekte Darstellung hierarchischer Daten wie im Windows-ExplorerDaten wie im Windows-Explorer

Reentrante BuilderReentrante Builder– cTreeviewFormcTreeviewForm– cTreeviewOnetoManycTreeviewOnetoMany

Beispiel: Kategorien.scxBeispiel: Kategorien.scx

Page 19: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Datenzugriff TheorieDatenzugriff Theorie

CursorAdapterCursorAdapter– Klasse –> Eigenschaften, MethodenKlasse –> Eigenschaften, Methoden– VFX Connection ManagerVFX Connection Manager

Vorteile:Vorteile:– Datenquelle zur Laufzeit austauschbarDatenquelle zur Laufzeit austauschbar

Informationen zur Datenbank verschlüsselt Informationen zur Datenbank verschlüsselt gespeichertgespeichert

– DBCDBC– SQL ServerSQL Server

Fat Client – Datenzugriff über das InternetFat Client – Datenzugriff über das Internet

Page 20: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Die LösungDie Lösung

CursorAdapterCursorAdapter Vorteile:Vorteile:

– Klasse – Vererbung, Eigenschaften, Klasse – Vererbung, Eigenschaften, MethodenMethoden

– Einheitlicher DatenzugriffEinheitlicher Datenzugriff– Datenzugriff auf DBC und SQL Server Datenzugriff auf DBC und SQL Server

möglichmöglich– Umschaltbarkeit zur LaufzeitUmschaltbarkeit zur Laufzeit– Builder in VFP vorhandenBuilder in VFP vorhanden

Page 21: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Remote Views vs. Remote Views vs. CursorAdapterCursorAdapter Remote View und Connection im DBC Remote View und Connection im DBC

gespeichertgespeichert Nachteil:Nachteil:

– Verbindungsinformationen im Klartext lesbarVerbindungsinformationen im Klartext lesbar ggf. manipulierbarggf. manipulierbar

CursorAdapter als programmatische oder CursorAdapter als programmatische oder visuelle Klasse in die Exe-Datei visuelle Klasse in die Exe-Datei eingebundeneingebunden– Zur Laufzeit beliebig konfigurierbarZur Laufzeit beliebig konfigurierbar– Mit DBC und Remote Datenbanken einsetzbarMit DBC und Remote Datenbanken einsetzbar

Page 22: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Wie macht man es Wie macht man es richtig?richtig?

CursorAdapter-Klasse verwendet CursorAdapter-Klasse verwendet ConnectionManagerConnectionManager

ConnectionManager liest ConnectionManager liest Datenbankinformationen aus Datenbankinformationen aus KonfigurationsdateiKonfigurationsdatei

Wichtig:Wichtig: CursorAdapter- CursorAdapter-Funktionalität unbedingt in einer Funktionalität unbedingt in einer Klasse speichernKlasse speichern

Page 23: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

ProgrammstartProgrammstart

Im Init Ereignis des Anwendungsobjekts Im Init Ereignis des Anwendungsobjekts wird der ConnectionManager instanziiertwird der ConnectionManager instanziiert

Beim Instanziieren eines CursorAdapters Beim Instanziieren eines CursorAdapters wird vom ConnectionManager eine wird vom ConnectionManager eine Connection geholtConnection geholt

Dabei werden aus einer verschlüsselten Dabei werden aus einer verschlüsselten Tabelle die Datenbankinformationen Tabelle die Datenbankinformationen gelesengelesen

Die CursorAdapter-Klasse verwendet die Die CursorAdapter-Klasse verwendet die Informationen des ConnectionManagersInformationen des ConnectionManagers

Page 24: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

CursorAdapter KlasseCursorAdapter Klasse

Herstellen der Verbindung zur Herstellen der Verbindung zur Datenbank über den Datenbank über den ConnectionManagerConnectionManager

Holen von ID-WertenHolen von ID-Werten WartbarkeitWartbarkeit

Page 25: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

IDsIDs

IDs sollten von der Datenbank vergeben IDs sollten von der Datenbank vergeben werdenwerden

CursorAdapter ermöglichen diese IDs nach CursorAdapter ermöglichen diese IDs nach dem Speichern aus der Datenbank zu holendem Speichern aus der Datenbank zu holen

InsertCmdRefreshFieldList – Liste zu holender InsertCmdRefreshFieldList – Liste zu holender FelderFelder

InsertCmdRefreshCmd – wird nach dem Insert InsertCmdRefreshCmd – wird nach dem Insert ausgeführt – Hier können IDs geholt werdenausgeführt – Hier können IDs geholt werden– GETAUTOINCVALUE() bei DBCGETAUTOINCVALUE() bei DBC

select * from <myTable> where select * from <myTable> where <IdField>=GETAUTOINCVALUE()<IdField>=GETAUTOINCVALUE()

– @@IDENTITY bei SQL Server@@IDENTITY bei SQL Server

Page 26: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Connection Manager Connection Manager KlasseKlasse

Instanziierung ohne DatenanbindungInstanziierung ohne Datenanbindung Herstellen einer(!) Verbindung beim Herstellen einer(!) Verbindung beim

ersten Bedarfersten Bedarf– Auslesen der Datenbankinformationen Auslesen der Datenbankinformationen

aus einer Datei möglichaus einer Datei möglich– Eine Connection für alle Datenzugriffe Eine Connection für alle Datenzugriffe

der Anwendungder Anwendung Verwendung mehrerer Datenbanken Verwendung mehrerer Datenbanken

in einer Anwendungin einer Anwendung

Page 27: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Planen einer neuen Planen einer neuen AnwendungAnwendung Nur mit CusorAdapter arbeiten!Nur mit CusorAdapter arbeiten!

– basierend auf basierend auf cBaseDataAccesscBaseDataAccess Vorteile:Vorteile:

– Es wird nur 1 Verbindung benötigtEs wird nur 1 Verbindung benötigt– Austauschbarkeit der DatenquelleAustauschbarkeit der Datenquelle– Wechsel von DBC zu SQL möglichWechsel von DBC zu SQL möglich– Entscheidung je Kunde ob DBC oder Entscheidung je Kunde ob DBC oder

SQL verwendet werden sollSQL verwendet werden soll

Page 28: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Datenzugriff PraxisDatenzugriff Praxis

VFX - CursorAdapter WizardVFX - CursorAdapter Wizard Neues Formular mit dem VFX - Form Neues Formular mit dem VFX - Form

Wizard erstellenWizard erstellen TestTest UpsizingUpsizing Manage Config.vfxManage Config.vfx

Page 29: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

CursorAdapter WizardCursorAdapter Wizard

Erstellen von CursorAdaptern zu Erstellen von CursorAdaptern zu allen Tabellen einer Datenbankallen Tabellen einer Datenbank

– für VFP-Datenbankenfür VFP-Datenbanken– für Remote-Datenbankenfür Remote-Datenbanken

Page 30: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Formulare basierend auf Formulare basierend auf CursorAdapterCursorAdapter In allen VFX-Formularklassen können In allen VFX-Formularklassen können

CursorAdapter verwendet werdenCursorAdapter verwendet werden Eingabe der ParameterEingabe der Parameter

• auf dem Formularauf dem Formular

Beispiel: KundenCA.scxBeispiel: KundenCA.scx

Page 31: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Kundenverwaltung mit Kundenverwaltung mit CACA CDataFormPageCDataFormPage caCustomers mit Where-KlauselcaCustomers mit Where-Klausel

customername LIKE ?customername LIKE ?thisform.tcustomernamethisform.tcustomername

VFX - CDataFormPage Builder - VFX - CDataFormPage Builder - ParameterParameter• Hinzufügen von Steuerelementen zur Hinzufügen von Steuerelementen zur

Eingabe der ParameterEingabe der Parameter• Automatisches Anlegen der Automatisches Anlegen der

FormulareigenschaftenFormulareigenschaften

Page 32: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Auftragsbearbeitung mit Auftragsbearbeitung mit CACA COneToManyCOneToMany caOrders mit Where-KlauselcaOrders mit Where-Klausel

customerid=?thisform.tcustomeridcustomerid=?thisform.tcustomerid caOrderDetails mit Where-KlauselcaOrderDetails mit Where-Klausel

orderid=?caorders.orderidorderid=?caorders.orderid caOrderDetailscaOrderDetails

Foreign Key Name: orderidForeign Key Name: orderidForeign Key Value: caorders.orderidForeign Key Value: caorders.orderid

VFX – COneToMany BuilderVFX – COneToMany Builder• Parameter hinzufügenParameter hinzufügen• Automatisches Erstellen von OnPostInsert und Automatisches Erstellen von OnPostInsert und

OnChildRequery Code im ChildgridOnChildRequery Code im Childgrid

Page 33: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

AuswahllistenAuswahllisten

KundenKunden• CPickAlternateCPickAlternate

ArtikelArtikel• CPickAlterTextboxCPickAlterTextbox

Page 34: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Parent/Child mit CAParent/Child mit CA

Wie bei DBCWie bei DBC Vollständig optimierter DatenzugriffVollständig optimierter Datenzugriff Weitere Funktionen-DialogWeitere Funktionen-Dialog

• SymbolleisteSymbolleiste• MenüMenü

Page 35: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Datenquellen Datenquellen bearbeitenbearbeitenManage Config.vfxManage Config.vfx Verwaltung des DatenzugriffsVerwaltung des Datenzugriffs Dialog in der Anwendung beim Dialog in der Anwendung beim

Kunden nutzbarKunden nutzbar Problemloser Wechsel zwischen DBC Problemloser Wechsel zwischen DBC

und SQL Serverund SQL Server– ConnectionString empfehlenswertConnectionString empfehlenswert

Verschlüsselung mit KennwortVerschlüsselung mit Kennwort– Einstellung mit dem Application BuilderEinstellung mit dem Application Builder– goprogram.cconfigpasswordgoprogram.cconfigpassword

Page 36: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Multi-Client-SupportMulti-Client-Support

Mandantenfähige Anwendungen mitMandantenfähige Anwendungen mitRemote-Datenbanken!Remote-Datenbanken!– Datenzugriff bearbeiten – Config.vfxDatenzugriff bearbeiten – Config.vfx

Mandantenfähige Anwendungen mit Mandantenfähige Anwendungen mit DBCDBC– cDatadir="" in Vfxmain.prgcDatadir="" in Vfxmain.prg– Pfadeinstellungen in Vfxpath.dbfPfadeinstellungen in Vfxpath.dbf

Ordner "Data" beim Kunden nicht Ordner "Data" beim Kunden nicht verwendbar verwendbar

Page 37: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX – Upsizing WizardVFX – Upsizing Wizard

Upsizing der vorhandenen Upsizing der vorhandenen Datenbank auf SQL ServerDatenbank auf SQL Server

Page 38: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

TestTest

Läuft die Anwendung mit DBC undLäuft die Anwendung mit DBC undSQL Server?SQL Server?

Page 39: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Drucken, Speichern als,Drucken, Speichern als,E-MailE-Mail Drucken ist aus allen Formularen Drucken ist aus allen Formularen

möglich ohne eine Berichtsdatei zu möglich ohne eine Berichtsdatei zu erstellenerstellen– Auswahl des ZeichensatzesAuswahl des Zeichensatzes– Automatische SummierungAutomatische Summierung

Unterstützung der ExportformateUnterstützung der Exportformatevon VFP 9von VFP 9– Und PDF-Export Und PDF-Export

E-Mailversand aller ExportformateE-Mailversand aller Exportformate

Page 40: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

PDF-Export – Wie geht PDF-Export – Wie geht das?das? Ausgabe der Berichtsausgabe über Ausgabe der Berichtsausgabe über

einen Postscript-Druckertreiber in eine einen Postscript-Druckertreiber in eine DateiDatei– bei Bedarf automatische Installation eines bei Bedarf automatische Installation eines

Postscript-DruckertreibersPostscript-Druckertreibers Konvertierung der Postscript-Datei in Konvertierung der Postscript-Datei in

eine PDF-Datei mit PDFOutput.appeine PDF-Datei mit PDFOutput.app– bei Bedarf Download aus dem Internet bei Bedarf Download aus dem Internet

vollautomatisch!vollautomatisch!– ggf. wird sogar eine DFÜ-Verbindung für ggf. wird sogar eine DFÜ-Verbindung für

den Internet-Zugang angelegtden Internet-Zugang angelegt

Page 41: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Internet und E-MailInternet und E-Mail

Makrosprache zum Download und Makrosprache zum Download und zur Installation von Programmen aus zur Installation von Programmen aus dem Internetdem Internet– Installation des Adobe ReaderInstallation des Adobe Reader– Aktualisierung der ApplikationAktualisierung der Applikation– bei Bedarf wird eine DFÜ-Verbindung für bei Bedarf wird eine DFÜ-Verbindung für

den Internet-Zugang angelegtden Internet-Zugang angelegt E-Mailversand aller E-Mailversand aller

Berichtsausgaben über MAPIBerichtsausgaben über MAPI

Page 42: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Fax-UnterstützungFax-Unterstützung

Als weitere Option zur Als weitere Option zur BerichtsausgabeBerichtsausgabe

Unterstützte Faxprogramme:Unterstützte Faxprogramme:– AVM FRITZ!faxAVM FRITZ!fax– Symantec WinfaxSymantec Winfax

Beispiel: jedes VFX-FormularBeispiel: jedes VFX-Formular

Page 43: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

ProduktaktivierungProduktaktivierung

VFX 9.5-Anwendungen können mit VFX 9.5-Anwendungen können mit einem Aktivierungsschlüssel einem Aktivierungsschlüssel geschützt werdengeschützt werden

Getrennter Schutz für bis zu 32 Getrennter Schutz für bis zu 32 Module einer AnwendungModule einer Anwendung

Die zur Erstellung des Die zur Erstellung des Installationsschlüssels verwendeten Installationsschlüssels verwendeten Kriterien können je Anwendung vom Kriterien können je Anwendung vom Entwickler festgelegt werdenEntwickler festgelegt werden

Page 44: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

ProduktaktivierungProduktaktivierung

Einschalten im VFX - Application Einschalten im VFX - Application WizardWizard– 3. Options3. Options

Enable product activationEnable product activation Use „FirstInstall.txt“ fileUse „FirstInstall.txt“ file

Ändern im VFX – Application BuilderÄndern im VFX – Application Builder– Eigenschaften des AnwendungsobjektsEigenschaften des Anwendungsobjekts

goProgram.lUseActivation = .T.goProgram.lUseActivation = .T. goProgram.lActivationType= .F.goProgram.lActivationType= .F.

Page 45: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Define Activation RulesDefine Activation Rules

Definition der Hardware- oder Software-Definition der Hardware- oder Software-ParameterParameter– AusdruckAusdruck– CPU NumberCPU Number– File Creation DateFile Creation Date– HDD Factory Serial NumberHDD Factory Serial Number– HDD Volume Serial NumberHDD Volume Serial Number– LAN Card NumberLAN Card Number– Registry Key ValueRegistry Key Value

je Anwendung beliebig kombinierbarje Anwendung beliebig kombinierbar Regeln speicherbarRegeln speicherbar

Page 46: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Define Activation RulesDefine Activation Rules

Vergabe der RechteVergabe der Rechte bis zu 32 Einzelrechte je Anwendungbis zu 32 Einzelrechte je Anwendung jedes Recht kann unabhängig von jedes Recht kann unabhängig von

den anderen Rechten freigeschaltet den anderen Rechten freigeschaltet werdenwerden

Zugriff zur Laufzeit über Zugriff zur Laufzeit über goProgram.SecurityRights.<RechtNagoProgram.SecurityRights.<RechtName>me>

Page 47: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

ProduktaktivierungProduktaktivierung

Eingabe des InstallationsschlüsselsEingabe des Installationsschlüssels Auswahl der freizuschaltenden RechteAuswahl der freizuschaltenden Rechte Erstellen eines AktivierungsschlüsselsErstellen eines Aktivierungsschlüssels Werte zur LaufzeitWerte zur Laufzeit

goProgram.SecurityRights.<RechtName>goProgram.SecurityRights.<RechtName>==– -1 – nicht aktiviert-1 – nicht aktiviert– 0 – nicht freigeschaltet0 – nicht freigeschaltet– 1 – freigeschaltet 1 – freigeschaltet

Page 48: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Die Aktivierung aus der Die Aktivierung aus der Sicht des KundenSicht des Kunden Aufforderung zu Aktivierung beim Aufforderung zu Aktivierung beim

ProgrammstartProgrammstart– Anzeige der RegistrierungsnummerAnzeige der Registrierungsnummer– Eingabe des AktivierungsschlüsselsEingabe des Aktivierungsschlüssels

Aktivierung über das MenüAktivierung über das Menü– zum Beispiel beim Zukauf von Rechtenzum Beispiel beim Zukauf von Rechten

Übermittlung der Schlüssel per E-Übermittlung der Schlüssel per E-Mail möglichMail möglich

Page 49: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

RegistrierungRegistrierungmit Web Servicemit Web Service Cfoxappl.ccompanynameCfoxappl.ccompanyname Cfoxappl.cappnameCfoxappl.cappname Cfoxappl.cwsdlCfoxappl.cwsdl Cfoxappl.cRegisterMethodNameCfoxappl.cRegisterMethodName Cvfxactivation.nregway=10Cvfxactivation.nregway=10

– Für Web ServiceFür Web Service

Page 50: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Web ServiceWeb Service

Projekt unter VFX – KundenverwaltungProjekt unter VFX – Kundenverwaltung Web Service DLL erstellenWeb Service DLL erstellen

– Registrationwebservice.dll Registrationwebservice.dll Projekt unter AnwendungProjekt unter Anwendung DLL mit AktivierungsdatenDLL mit Aktivierungsdaten

– Register<Projektname>.dllRegister<Projektname>.dll Regdata Datenbank vorbereitenRegdata Datenbank vorbereiten Config.vfx richtig einstellenConfig.vfx richtig einstellen

Page 51: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Aktualisierung von Aktualisierung von AnwendungenAnwendungen Einstellmöglichkeiten wie bei WindowsEinstellmöglichkeiten wie bei Windows

• Automatischer Download und InstallationAutomatischer Download und Installation• Automatischer DownloadAutomatischer Download• BenachrichtigenBenachrichtigen• DeaktivierenDeaktivieren• Jetzt auf Aktualisierungen prüfenJetzt auf Aktualisierungen prüfen

cFoxAppl.lAllowUpdates=.T.cFoxAppl.lAllowUpdates=.T. cFoxAppl.cIniUrlcFoxAppl.cIniUrl Vfxsys.UpdTypeVfxsys.UpdType

Page 52: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Vfxsys.UpdTypeVfxsys.UpdType

1 – Automatisches herunterladen und installieren, 1 – Automatisches herunterladen und installieren, wenn Aktualisierungen vorhanden sind. Die wenn Aktualisierungen vorhanden sind. Die Überprüfung wird beim ersten Anwendungsstart Überprüfung wird beim ersten Anwendungsstart täglich durchgeführt.täglich durchgeführt.

2 – Automatisches herunterladen von Aktualisierungen 2 – Automatisches herunterladen von Aktualisierungen mit anschließender Frage, ob die Aktualisierung mit anschließender Frage, ob die Aktualisierung installiert werden soll. Die Überprüfung wird beim installiert werden soll. Die Überprüfung wird beim ersten Anwendungsstart täglich durchgeführt.ersten Anwendungsstart täglich durchgeführt.

3 – Überprüfung nach verfügbaren Aktualisierungen 3 – Überprüfung nach verfügbaren Aktualisierungen täglich beim ersten Anwendungsstart. Bei vorhandener täglich beim ersten Anwendungsstart. Bei vorhandener aktualisierter Programmversion wird der Benutzer aktualisierter Programmversion wird der Benutzer gefragt, ob er die Aktualisierung herunterladen und gefragt, ob er die Aktualisierung herunterladen und installieren will.installieren will.

4 – Manuelle Überprüfung. Die Überprüfung auf 4 – Manuelle Überprüfung. Die Überprüfung auf Aktualisierungen kann aus dem Menü aufgerufen Aktualisierungen kann aus dem Menü aufgerufen werden.werden.

Page 53: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Vfxsys.UpdateAppVfxsys.UpdateApp

D: ftp://<domain>/meineExeDatei.vfxD: ftp://<domain>/meineExeDatei.vfxoderoderD: D: http://<domain>/meineExeDatei.vfxhttp://<domain>/meineExeDatei.vfxwird in SYS(2023)-Ordner gespeichertwird in SYS(2023)-Ordner gespeichert

Austausch der laufenden Exe-Datei Austausch der laufenden Exe-Datei mittels Loader.exemittels Loader.exe

Page 54: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Aktualisierung der Aktualisierung der Datenbank beim KundenDatenbank beim Kunden Aktualisierung von allen in Config.vfx Aktualisierung von allen in Config.vfx

eingetragenen Datenbankeneingetragenen Datenbanken• DBCDBC• SQLSQL

Page 55: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

FehlerbehandlungFehlerbehandlung

Anzeige von Laufzeitfehlern in Anzeige von Laufzeitfehlern in bekannten Windows-Dialogen <g>bekannten Windows-Dialogen <g>

Akzeptanz durch BenutzerAkzeptanz durch Benutzer

Fehlerberichte können per E-Mail an Fehlerberichte können per E-Mail an den Entwickler gesendet werdenden Entwickler gesendet werden

Page 56: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

FehlerbehandlungFehlerbehandlung

Was soll passieren, wenn ein Fehler auftritt?Was soll passieren, wenn ein Fehler auftritt?– goProgram.nAppOnErrorBehavior=goProgram.nAppOnErrorBehavior=

0 – alle Fehler ignorieren0 – alle Fehler ignorieren 1 – Anzeige einer Fehlermeldung (Standardwert)1 – Anzeige einer Fehlermeldung (Standardwert) 2 - Programmabbruch2 - Programmabbruch

Welche Fehlerinformationen werden protokolliert?Welche Fehlerinformationen werden protokolliert?– goProgram.ErrorDetailLevel=goProgram.ErrorDetailLevel=

0 – nur die Fehlermeldung0 – nur die Fehlermeldung 1 – Fehlermeldung und Aufrufstapel (Standardwert)1 – Fehlermeldung und Aufrufstapel (Standardwert) 2 – detaillierte Fehlerinformationen2 – detaillierte Fehlerinformationen

(Standardverhalten bis VFX 7.1) (Standardverhalten bis VFX 7.1)

Versand des Fehlerprotokolls per E-MailVersand des Fehlerprotokolls per E-Mail– goProgram.csupportemailgoProgram.csupportemail

Page 57: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

HooksHooks

Einschalten in Vfxmain.prgEinschalten in Vfxmain.prg nEnableHook=1 Enabled, 2 Disabled, 0 nEnableHook=1 Enabled, 2 Disabled, 0

Use form settingUse form setting Rückgabewerte steuern das VerhaltenRückgabewerte steuern das Verhalten

– .T..T.Ausführung fortsetzenAusführung fortsetzen

– 0 oder .F.0 oder .F.Ausführung abbrechen, Rückgabewert .T.Ausführung abbrechen, Rückgabewert .T.

– 11Ausführung abbrechen, Rückgabewert .F.Ausführung abbrechen, Rückgabewert .F.

Page 58: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

HooksHooks

FUNCTION eventhookhandler(tcevent, toobject, toform)FUNCTION eventhookhandler(tcevent, toobject, toform)LOCAL lcontinueLOCAL lcontinuelcontinue = .T.lcontinue = .T.DO CASEDO CASECASE UPPER(tcevent)=="INIT"CASE UPPER(tcevent)=="INIT"DO CASEDO CASECASE UPPER(toobject.baseclass)=="GRID"CASE UPPER(toobject.baseclass)=="GRID"toobject.allowrowsizing=.F.toobject.allowrowsizing=.F.toobject.allowheadersizing=.F.toobject.allowheadersizing=.F.

Page 59: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Update Project WizardUpdate Project Wizard

Vollautomatische Aktualisierung Vollautomatische Aktualisierung bestehenderbestehenderVFX-AnwendungenVFX-Anwendungen

Aktualisierung auf den neuesten VFX Aktualisierung auf den neuesten VFX BuildBuild

Page 60: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Weitere Features für Weitere Features für EntwicklerEntwickler Task PanesTask Panes

– VFX 9.5VFX 9.5– VFX-CommunityVFX-Community

Viele neue Wizards und BuilderViele neue Wizards und Builder– Project Update WizardProject Update Wizard– Application BuilderApplication Builder– CursorAdapter WizardCursorAdapter Wizard– Parent/Child BuilderParent/Child Builder– Audit Trigger WizardAudit Trigger Wizard– Project DocumentingProject Documenting

Page 61: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

BenutzerverwaltungBenutzerverwaltung

Verwaltung von Benutzergruppen Verwaltung von Benutzergruppen mit Rechtenmit Rechten

Protokolle und Sichten für aktiv Protokolle und Sichten für aktiv eingeloggte Anwender (für exklusive eingeloggte Anwender (für exklusive Tasks) Tasks)

Page 62: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

SuchdialogSuchdialog

Beliebig viele Filterbedingungen Beliebig viele Filterbedingungen kombinierbarkombinierbar

Einstellungen je Formular und Einstellungen je Formular und Benutzer gespeichertBenutzer gespeichert

Nur sinnvolle OperatorenNur sinnvolle Operatoren Keine ungültigen Eingaben möglichKeine ungültigen Eingaben möglich

Page 63: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Datum und ZeitDatum und Zeit

neuer Kalenderneuer Kalender– basierend auf MonthView Controlbasierend auf MonthView Control– keine OCX-Installation erforderlichkeine OCX-Installation erforderlich

Hotkeys zur DatumsauswahlHotkeys zur Datumsauswahl– H – heuteH – heute– A – Anfang des JahresA – Anfang des Jahres– B – Beginn des MonatsB – Beginn des Monats– +/- - 1 Tag vorwärts oder zurück+/- - 1 Tag vorwärts oder zurück

Eingabe von Datetime-WertenEingabe von Datetime-Werten

Page 64: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

OLE drag & dropOLE drag & drop

Vollständig generisch in VFX integriertVollständig generisch in VFX integriert– aus einem Steuerelementaus einem Steuerelement

nOLEenabledrag=1nOLEenabledrag=1 nOLEdropForceEditmode=1nOLEdropForceEditmode=1

– aus einer Seite eines Seitenrahmens unter aus einer Seite eines Seitenrahmens unter Berücksichtigung der TaborderBerücksichtigung der Taborder

nPageOLEdragdrop=1nPageOLEdragdrop=1

– aus einem Gridaus einem Grid immer eingeschaltetimmer eingeschaltet

Unterstützung aller DatentypenUnterstützung aller Datentypen

Page 65: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Einstellung der Sprache Einstellung der Sprache zur Laufzeitzur Laufzeit Runtime LocalizationRuntime Localization Im AnmeldedialogIm Anmeldedialog In einer Combobox in der In einer Combobox in der

SymbolleisteSymbolleiste

Beispiel: VFPizza und VFX95TradersBeispiel: VFPizza und VFX95Traders

Page 66: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Datensicherung mit ZIP-Datensicherung mit ZIP-FunktionFunktion ZIP-Algorithmus in VFX 9.5 integriertZIP-Algorithmus in VFX 9.5 integriert Datensicherung der aktuellen Datensicherung der aktuellen

Datenbank in eine Zip-Datei über Datenbank in eine Zip-Datei über einen Menüpunkteinen Menüpunkt

Wiederherstellung der aktuellen Wiederherstellung der aktuellen Datenbank aus einer Zip-Datei über Datenbank aus einer Zip-Datei über einen Menüpunkteinen Menüpunkt

direkter Aufruf der ZIP-Funktionendirekter Aufruf der ZIP-Funktionenfür eigene Anwendungen möglichfür eigene Anwendungen möglich

Page 67: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX.fllVFX.fll

Internet, E-Mail und HilfsfunktionenInternet, E-Mail und Hilfsfunktionen ProduktaktivierungProduktaktivierung DatensicherungDatensicherung SQL ServerSQL Server Achtung: Achtung: Die VFX.fll muss an den Die VFX.fll muss an den

Kunden mitgeliefert werden!Kunden mitgeliefert werden!

Page 68: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX-Menü-DesignerVFX-Menü-Designer

WYSIWYGWYSIWYG Unterstützung aller Menü-Features, Unterstützung aller Menü-Features,

die VFP bietetdie VFP bietet– Schriftartattribute, EffekteSchriftartattribute, Effekte– alle Eventsalle Events– Menüeinträge mit MarkierungMenüeinträge mit Markierung

Unterstützung von KonstantenUnterstützung von Konstanten– sprachunabhängige Menüssprachunabhängige Menüs

Page 69: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Wichtige VFX-MethodenWichtige VFX-Methoden

Valid auf FormularebeneValid auf Formularebene OnRecordMoveOnRecordMove OnPostInsertOnPostInsert OnSaveOnSave OnPrintOnPrint OnPrev, OnNext, OnTop, OnBottomOnPrev, OnNext, OnTop, OnBottom

Page 70: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

DokumentenverwaltungDokumentenverwaltung

Container-Klasse zur Verwaltung von Container-Klasse zur Verwaltung von DokumentenDokumenten– Per Drag & Drop auf jedem Formular Per Drag & Drop auf jedem Formular

einsetzbareinsetzbar– Einfache KonfigurationEinfache Konfiguration– Dokumente sind „Children“Dokumente sind „Children“

Beispiel: Parent.scx in VFX95TestBeispiel: Parent.scx in VFX95Test

Page 71: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Audit-TrailAudit-Trail

Neuer Trigger Wizard!Neuer Trigger Wizard! Trigger in den TabellenTrigger in den Tabellen

– _audit_insert()_audit_insert()– _audit_update()_audit_update()– _audit_delete()_audit_delete()

Anzeige des Protokolls über ein VFX-Anzeige des Protokolls über ein VFX-FormularFormular

Und-Verknüpfung mit anderen Und-Verknüpfung mit anderen Triggern möglichTriggern möglich

Page 72: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Was noch?Was noch?

Integriertes Werkzeug für die Integriertes Werkzeug für die DatenbankreparaturDatenbankreparatur

Konfigurieren einer DFÜ-Konfigurieren einer DFÜ-NetzwerkverbindungNetzwerkverbindung– Define DUN connection parametersDefine DUN connection parameters

Integration eines FernwartungsprogrammsIntegration eines Fernwartungsprogramms Automatische Installation des Abobe Automatische Installation des Abobe

Reader beim KundenReader beim Kunden Und vieles mehr… Und vieles mehr…

Page 73: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Wir haben das Ziel Wir haben das Ziel erreicht!erreicht! Die Anwendung ist fertig.Die Anwendung ist fertig. Kompletter Rahmen durch VFX Kompletter Rahmen durch VFX

erstellterstellt Datenbank mit üblichen Tools erstelltDatenbank mit üblichen Tools erstellt Formulare mit den VFX Buildern Formulare mit den VFX Buildern

erstellterstellt Bearbeitung mit VFP zu jeder ZeitBearbeitung mit VFP zu jeder Zeit Hohe Qualität = zufriedene KundenHohe Qualität = zufriedene Kunden

Page 74: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

LokalisierungLokalisierung

VFX – Language Management BuilderVFX – Language Management Builder• Auswahl der Sprachen bei Lokalisierung Auswahl der Sprachen bei Lokalisierung

zur Laufzeitzur Laufzeit VFX – Langsetup BuilderVFX – Langsetup Builder

• Unterstützung von KlassenUnterstützung von Klassen• Unterstützung von BerichtenUnterstützung von Berichten• Unterstützung von Vfxfopen.dbfUnterstützung von Vfxfopen.dbf

Rekursiver Aufruf der LangSetup-Rekursiver Aufruf der LangSetup-Methode in allen SteuerelementenMethode in allen Steuerelementen

Page 75: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

FragenFragen

??

Page 76: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX95TestVFX95Test

BenutzergruppenBenutzergruppen Dokument-ContainerDokument-Container COneToManyPageFrameCOneToManyPageFrame Geschäftsgrafiken mit Geschäftsgrafiken mit

CBusinessGraphCBusinessGraph Menü ExtrasMenü Extras

Page 77: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

VFX95TradersVFX95Traders

Basierend auf Tastrade.dbcBasierend auf Tastrade.dbc Office CompatibleOffice Compatible Drucken, Speichern, E-Mailversand, FaxDrucken, Speichern, E-Mailversand, Fax 1:n Formulare mit Auswahllisten1:n Formulare mit Auswahllisten ProduktaktivierungProduktaktivierung Aktualisierung der Anwendung über das Aktualisierung der Anwendung über das

InternetInternet– Kundenverwaltung, VersionsverwaltungKundenverwaltung, Versionsverwaltung

FernwartungFernwartung

Page 78: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

LinksLinks

Download und Infos zu VFX: Download und Infos zu VFX: – www.visualextend.dewww.visualextend.de– portal.dfpug.de, Reiter/Verzeichnis VFXportal.dfpug.de, Reiter/Verzeichnis VFX

Mehr Infos zu VFX: Mehr Infos zu VFX: – www.my-vfx.dewww.my-vfx.de

Kostenloser Support zu VFX:Kostenloser Support zu VFX:– news.dfpug.de / forum.dfpug.denews.dfpug.de / forum.dfpug.de

Page 79: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Vielen Dank für Euer Vielen Dank für Euer Interesse!Interesse!

Viel Spaß mit VFX 9.5 wünschtViel Spaß mit VFX 9.5 wünscht

Uwe HabermannUwe Habermann

Page 80: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de.

VFX 9.5 - WorkshopVFX 9.5 - Workshop

Pause!Pause!