vfx 9.5 - workshop vfx 9.5 – workshop uwe habermann visual extend product manager...
TRANSCRIPT
![Page 1: VFX 9.5 - Workshop VFX 9.5 – Workshop Uwe Habermann Visual Extend Product Manager Uwe.Habermann@dFPUG.de](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/61.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/63.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/65.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/66.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/69.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/70.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/71.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/72.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/73.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/74.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/75.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/76.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/77.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/78.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/79.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6849795902118be062/html5/thumbnails/80.jpg)
VFX 9.5 - WorkshopVFX 9.5 - Workshop
Pause!Pause!