VFX 9.5 - Workshop - dFPUG

Werbung
VFX 9.5 – Workshop
Uwe Habermann
Visual Extend Product Manager
[email protected]
VFX 9.5 - Workshop
Wer spricht da?






Dipl.-Inform. Uwe Habermann
Selbstständig seit 1986
Arbeitet mit FoxPro seit FPW 2.5
MCP für VFP
Freier Mitarbeiter von u. a. ProLib, Wizards &
Builders und ISYS
Uwe Habermann & Kathrin Leu GbR
– Entwickelt Branchenlösung und Individualsoftware

Visual Extend Product Manager
VFX 9.5 - Workshop
Die Themen













Erstellen einer Anwendung mit dem VFX Application
Wizard/Builder
Erstellen von Formularen basierend auf Tabellen
OneToMany-Formulare
Parent/Child-Builder
Treeview-Formulare
Erstellen von Formularen basierend auf CursorAdaptern
Wechsel von DBC auf SQL-Server und umgekehrt
Erstellen von PDF-Dateien und E-Mailversand
Sinnvoller Einsatz von Hooks
Produktaktivierung
Behandlung von Laufzeitfehlern
Aktualisierung der Anwendung und der Datenbank beim Kunden
Aktualisierung mit dem neuen Update Project Wizard
VFX 9.5 - Workshop
Visual Extend 9.5


Aktueller Build VFX 9.50.1621/1718
Features für Entwickler
– Datenzugriff


Features für Endanwender
Beispielanwendungen
– VFX95Traders, VFX95Test, VFPizza

Dokumentation
VFX 9.5 - Workshop
Installation





VFX95Setup.exe
Vfxmnu.app als Startanwendung einstellen
Beim 1. Start von Vfxmnu.app wird ggf.
die VFP Task Pane geöffnet und die VFX
9.0 Task Pane wird hinzugefügt
Pfadeinstellungen in den Optionen von
VFP sind NICHT erforderlich
Wer braucht einen Aktivierungsschlüssel?
VFX 9.5 - Workshop
VFX 9.5 - Task Pane

Verwaltung der VFX-Projekte
– Beim Öffnen wird der aktuelle Pfad auf den
Projektordner gesetzt



Anlegen neuer Projekte
Kompilieren vorhandener Projekte
Bearbeiten der Project Properties
– Ermöglicht die Verwendung eigener Klassen von den
VFX Buildern

Informationen über VFX 9.5 mit einem
Mausklick
VFX 9.5 - Workshop
VFX 9.5 - Application
Wizard

Erstellen neuer Projekte
– Auswahl des Ordners und der Datenbank
– Texte für den About-Dialog
– Einstellungen für das Applikationsobjekt


Auswahl aus 17 Sprachen
und noch viel mehr Einstellungen 
– Texte für den Projektinfo-Dialog
– Alles kompilieren und los geht´s...

Projekt: VFPizza, Datenbank: VFP
VFX 9.5 - Workshop
Die generierte VFXAnwendung
– Splash-Screen
– Anmeldedialog
– Menü und Symbolleiste
– Öffnen-Dialog im XP-Stil
– Benutzerverwaltung
– Benutzerrechte
– Datenbankwartung
– und vieles andere mehr...
VFX 9.5 - Workshop
Wie geht es weiter?

Anlegen der Datenbank
– mit dem VFP Datenbank-Designer
– oder mit xCase
– oder mit SDT

Kopieren einer vorbereiteten
Datenbank
– VFP.dbc (sowie Bitmaps)
VFX 9.5 - Workshop
VFX 9.5 – Form Wizard

Erstellen eines Formulars basierend auf
einer der VFX Formularklassen:
–
–
–
–
–
–
–


cDataFormPage
cTreeViewForm
cTableForm
cOneToMany
cTreeViewOneToMany
cAskViewArg
cWizard
Verwendung eigener Formularklassen
Beispiel: Kunden.scx
VFX 9.5 - Workshop
VFX 9.5 – DataEnvironment
Builder

Verwaltung der Datenumgebung
– Hinzufügen von Tabellen und Ansichten
– Erstellen von CursorAdapter-Klassen on the
fly

Verwaltung von Indizes und Relationen
– Indizes können für CursorAdapter erstellt
werden
– Relationen zwischen allen Cursorn mit Index
möglich
VFX 9.5 - Workshop
VFX 9.5 – cDataFormPage
Builder

Reentranter Builder
– Steuerelemente auf Seitenrahmen
– Such-Grid mit vielen Funktionen 
– Formulareigenschaften

Verwendung eigener Klassen
– Entsprechend den Vorgaben aus dem DBC
– Entsprechend den Einstellungen in den
VFX - Project Properties

Beispiel: Kunden.scx
VFX 9.5 - Workshop
Das Formular zur Laufzeit


Autoedit
Inkrementelle Suche im Grid
– Multi-Column-Sort

Benutzerspezifisches Speichern der
Einstellungen
– Größe und Position des Formulars auf dem Desktop
– Spaltenbreite, Spaltenfolge und Sortierfolge im Grid
– Suchkriterien
VFX 9.5 - Workshop
VFX – cOneToMany Builder

cOneToMany
– Bearbeitung und Suche in Parent-Daten wie
bei cDataFormPage
– Bearbeitung von Child-Daten im Grid
– Bearbeitung von Child-Daten mit anderen
Steuerelementen
– Unterstützung mehrerer Children

Beispiel: Auftrag.scx
VFX 9.5 - Workshop
Kunden auswählen
VFX – CPickField Builder

Auswahl eines Kunden für einen Auftrag
• Eingabe einer Kundennummer
• Auswahl eines Kunden aus einer Liste

Alle Suchfunktionen bei Listenauswahl
VFX 9.5 - Workshop
Artikel auswählen
VFX – CPickTextbox Builder

Auswahl eines Artikels für eine
Auftragsposition
• Eingabe einer Artikelnummer
• Auswahl eines Artikels aus einer Liste

Alle Suchfunktionen bei Listenauswahl
VFX 9.5 - Workshop
Linked-Child-Formulare




Aufruf eines Child-Formulars
Hierarchische Verknüpfung möglich
Beliebig viele Children möglich
Eigenschaften zur Steuerung
– lCloseChildformOnExit
– lAutoSyncChildform

Beispiel: Kunden - Aufträge
VFX 9.5 - Workshop
VFX – Treeview


Perfekte Darstellung hierarchischer Daten
wie im Windows-Explorer
Reentrante Builder
– cTreeviewForm
– cTreeviewOnetoMany

Beispiel: Kategorien.scx
VFX 9.5 - Workshop
Datenzugriff Theorie

CursorAdapter
– Klasse –> Eigenschaften, Methoden
– VFX Connection Manager

Vorteile:
– Datenquelle zur Laufzeit austauschbar

Informationen zur Datenbank verschlüsselt gespeichert
– DBC
– SQL Server

Fat Client – Datenzugriff über das Internet
VFX 9.5 - Workshop
Die Lösung


CursorAdapter
Vorteile:
– Klasse – Vererbung, Eigenschaften,
Methoden
– Einheitlicher Datenzugriff
– Datenzugriff auf DBC und SQL Server
möglich
– Umschaltbarkeit zur Laufzeit
– Builder in VFP vorhanden
VFX 9.5 - Workshop
Remote Views vs.
CursorAdapter


Remote View und Connection im DBC
gespeichert
Nachteil:
– Verbindungsinformationen im Klartext lesbar


ggf. manipulierbar
CursorAdapter als programmatische oder visuelle
Klasse in die Exe-Datei eingebunden
– Zur Laufzeit beliebig konfigurierbar
– Mit DBC und Remote Datenbanken einsetzbar
VFX 9.5 - Workshop
Wie macht man es richtig?



CursorAdapter-Klasse verwendet
ConnectionManager
ConnectionManager liest
Datenbankinformationen aus
Konfigurationsdatei
Wichtig: CursorAdapter-Funktionalität
unbedingt in einer Klasse speichern
VFX 9.5 - Workshop
Programmstart




Im Init Ereignis des Anwendungsobjekts wird
der ConnectionManager instanziiert
Beim Instanziieren eines CursorAdapters wird
vom ConnectionManager eine Connection
geholt
Dabei werden aus einer verschlüsselten Tabelle
die Datenbankinformationen gelesen
Die CursorAdapter-Klasse verwendet die
Informationen des ConnectionManagers
VFX 9.5 - Workshop
CursorAdapter Klasse



Herstellen der Verbindung zur Datenbank
über den ConnectionManager
Holen von ID-Werten
Wartbarkeit
VFX 9.5 - Workshop
IDs




IDs sollten von der Datenbank vergeben werden
CursorAdapter ermöglichen diese IDs nach dem
Speichern aus der Datenbank zu holen
InsertCmdRefreshFieldList – Liste zu holender
Felder
InsertCmdRefreshCmd – wird nach dem Insert
ausgeführt – Hier können IDs geholt werden
– GETAUTOINCVALUE() bei DBC

select * from <myTable> where
<IdField>=GETAUTOINCVALUE()
– @@IDENTITY bei SQL Server
VFX 9.5 - Workshop
Connection Manager Klasse


Instanziierung ohne Datenanbindung
Herstellen einer(!) Verbindung beim
ersten Bedarf
– Auslesen der Datenbankinformationen aus
einer Datei möglich
– Eine Connection für alle Datenzugriffe der
Anwendung

Verwendung mehrerer Datenbanken in
einer Anwendung
VFX 9.5 - Workshop
Planen einer neuen
Anwendung

Nur mit CusorAdapter arbeiten!
– basierend auf cBaseDataAccess

Vorteile:
– Es wird nur 1 Verbindung benötigt
– Austauschbarkeit der Datenquelle
– Wechsel von DBC zu SQL möglich
– Entscheidung je Kunde ob DBC oder SQL
verwendet werden soll
VFX 9.5 - Workshop
Datenzugriff Praxis





VFX - CursorAdapter Wizard
Neues Formular mit dem VFX - Form
Wizard erstellen
Test
Upsizing
Manage Config.vfx
VFX 9.5 - Workshop
CursorAdapter Wizard

Erstellen von CursorAdaptern zu allen
Tabellen einer Datenbank
– für VFP-Datenbanken
– für Remote-Datenbanken
VFX 9.5 - Workshop
Formulare basierend auf
CursorAdapter


In allen VFX-Formularklassen können
CursorAdapter verwendet werden
Eingabe der Parameter
• auf dem Formular

Beispiel: KundenCA.scx
VFX 9.5 - Workshop
Kundenverwaltung mit CA


CDataFormPage
caCustomers mit Where-Klausel
customername LIKE
?thisform.tcustomername

VFX - CDataFormPage Builder - Parameter
• Hinzufügen von Steuerelementen zur Eingabe
der Parameter
• Automatisches Anlegen der
Formulareigenschaften
VFX 9.5 - Workshop
Auftragsbearbeitung mit CA


COneToMany
caOrders mit Where-Klausel
customerid=?thisform.tcustomerid

caOrderDetails mit Where-Klausel
orderid=?caorders.orderid

caOrderDetails
Foreign Key Name: orderid
Foreign Key Value: caorders.orderid

VFX – COneToMany Builder
• Parameter hinzufügen
• Automatisches Erstellen von OnPostInsert und OnChildRequery
Code im Childgrid
VFX 9.5 - Workshop
Auswahllisten

Kunden
• CPickAlternate

Artikel
• CPickAlterTextbox
VFX 9.5 - Workshop
Parent/Child mit CA



Wie bei DBC
Vollständig optimierter Datenzugriff
Weitere Funktionen-Dialog
• Symbolleiste
• Menü
VFX 9.5 - Workshop
Datenquellen bearbeiten
Manage Config.vfx



Verwaltung des Datenzugriffs
Dialog in der Anwendung beim Kunden
nutzbar
Problemloser Wechsel zwischen DBC und
SQL Server
– ConnectionString empfehlenswert

Verschlüsselung mit Kennwort
– Einstellung mit dem Application Builder
– goprogram.cconfigpassword
VFX 9.5 - Workshop
Multi-Client-Support

Mandantenfähige Anwendungen mit
Remote-Datenbanken!
– Datenzugriff bearbeiten – Config.vfx

Mandantenfähige Anwendungen mit DBC
– cDatadir="" in Vfxmain.prg
– Pfadeinstellungen in Vfxpath.dbf

Ordner "Data" beim Kunden nicht
verwendbar 
VFX 9.5 - Workshop
VFX – Upsizing Wizard

Upsizing der vorhandenen Datenbank auf
SQL Server
VFX 9.5 - Workshop
Test

Läuft die Anwendung mit DBC und
SQL Server?
VFX 9.5 - Workshop
Drucken, Speichern als,
E-Mail

Drucken ist aus allen Formularen möglich
ohne eine Berichtsdatei zu erstellen
– Auswahl des Zeichensatzes
– Automatische Summierung

Unterstützung der Exportformate
von VFP 9
– Und PDF-Export

E-Mailversand aller Exportformate
VFX 9.5 - Workshop
PDF-Export – Wie geht das?

Ausgabe der Berichtsausgabe über einen
Postscript-Druckertreiber in eine Datei
– bei Bedarf automatische Installation eines
Postscript-Druckertreibers

Konvertierung der Postscript-Datei in eine
PDF-Datei mit PDFOutput.app
– bei Bedarf Download aus dem Internet
vollautomatisch!
– ggf. wird sogar eine DFÜ-Verbindung für den
Internet-Zugang angelegt
VFX 9.5 - Workshop
Internet und E-Mail

Makrosprache zum Download und zur
Installation von Programmen aus dem
Internet
– Installation des Adobe Reader
– Aktualisierung der Applikation
– bei Bedarf wird eine DFÜ-Verbindung für den
Internet-Zugang angelegt

E-Mailversand aller Berichtsausgaben über
MAPI
VFX 9.5 - Workshop
Fax-Unterstützung


Als weitere Option zur Berichtsausgabe
Unterstützte Faxprogramme:
– AVM FRITZ!fax
– Symantec Winfax

Beispiel: jedes VFX-Formular
VFX 9.5 - Workshop
Produktaktivierung



VFX 9.5-Anwendungen können mit einem
Aktivierungsschlüssel geschützt werden
Getrennter Schutz für bis zu 32 Module
einer Anwendung
Die zur Erstellung des
Installationsschlüssels verwendeten
Kriterien können je Anwendung vom
Entwickler festgelegt werden
VFX 9.5 - Workshop
Produktaktivierung

Einschalten im VFX - Application Wizard
– 3. Options
Enable product activation
 Use „FirstInstall.txt“ file


Ändern im VFX – Application Builder
– Eigenschaften des Anwendungsobjekts
goProgram.lUseActivation = .T.
 goProgram.lActivationType= .F.

VFX 9.5 - Workshop
Define Activation Rules

Definition der Hardware- oder SoftwareParameter
–
–
–
–
–
–
–


Ausdruck
CPU Number
File Creation Date
HDD Factory Serial Number
HDD Volume Serial Number
LAN Card Number
Registry Key Value
je Anwendung beliebig kombinierbar
Regeln speicherbar
VFX 9.5 - Workshop
Define Activation Rules




Vergabe der Rechte
bis zu 32 Einzelrechte je Anwendung
jedes Recht kann unabhängig von den
anderen Rechten freigeschaltet werden
Zugriff zur Laufzeit über
goProgram.SecurityRights.<RechtName>
VFX 9.5 - Workshop
Produktaktivierung




Eingabe des Installationsschlüssels
Auswahl der freizuschaltenden Rechte
Erstellen eines Aktivierungsschlüssels
Werte zur Laufzeit
goProgram.SecurityRights.<RechtName>=
– -1 – nicht aktiviert
– 0 – nicht freigeschaltet
– 1 – freigeschaltet
VFX 9.5 - Workshop
Die Aktivierung aus der
Sicht des Kunden

Aufforderung zu Aktivierung beim
Programmstart
– Anzeige der Registrierungsnummer
– Eingabe des Aktivierungsschlüssels

Aktivierung über das Menü
– zum Beispiel beim Zukauf von Rechten

Übermittlung der Schlüssel per E-Mail
möglich
VFX 9.5 - Workshop
Registrierung
mit Web Service





Cfoxappl.ccompanyname
Cfoxappl.cappname
Cfoxappl.cwsdl
Cfoxappl.cRegisterMethodName
Cvfxactivation.nregway=10
– Für Web Service
VFX 9.5 - Workshop
Web Service


Projekt unter VFX – Kundenverwaltung
Web Service DLL erstellen
– Registrationwebservice.dll


Projekt unter Anwendung
DLL mit Aktivierungsdaten
– Register<Projektname>.dll


Regdata Datenbank vorbereiten
Config.vfx richtig einstellen
VFX 9.5 - Workshop
Aktualisierung von
Anwendungen

Einstellmöglichkeiten wie bei Windows
•
•
•
•
•



Automatischer Download und Installation
Automatischer Download
Benachrichtigen
Deaktivieren
Jetzt auf Aktualisierungen prüfen
cFoxAppl.lAllowUpdates=.T.
cFoxAppl.cIniUrl
Vfxsys.UpdType
VFX 9.5 - Workshop
Vfxsys.UpdType




1 – Automatisches herunterladen und installieren, wenn
Aktualisierungen vorhanden sind. Die Überprüfung wird
beim ersten Anwendungsstart täglich durchgeführt.
2 – Automatisches herunterladen von Aktualisierungen
mit anschließender Frage, ob die Aktualisierung
installiert werden soll. Die Überprüfung wird beim ersten
Anwendungsstart täglich durchgeführt.
3 – Überprüfung nach verfügbaren Aktualisierungen
täglich beim ersten Anwendungsstart. Bei vorhandener
aktualisierter Programmversion wird der Benutzer
gefragt, ob er die Aktualisierung herunterladen und
installieren will.
4 – Manuelle Überprüfung. Die Überprüfung auf
Aktualisierungen kann aus dem Menü aufgerufen
werden.
VFX 9.5 - Workshop
Vfxsys.UpdateApp


D: ftp://<domain>/meineExeDatei.vfx
oder
D: http://<domain>/meineExeDatei.vfx
wird in SYS(2023)-Ordner gespeichert
Austausch der laufenden Exe-Datei mittels
Loader.exe
VFX 9.5 - Workshop
Aktualisierung der
Datenbank beim Kunden

Aktualisierung von allen in Config.vfx
eingetragenen Datenbanken
• DBC
• SQL
VFX 9.5 - Workshop
Fehlerbehandlung



Anzeige von Laufzeitfehlern in bekannten
Windows-Dialogen <g>
Akzeptanz durch Benutzer
Fehlerberichte können per E-Mail an den
Entwickler gesendet werden
VFX 9.5 - Workshop
Fehlerbehandlung

Was soll passieren, wenn ein Fehler auftritt?
– goProgram.nAppOnErrorBehavior=




0 – alle Fehler ignorieren
1 – Anzeige einer Fehlermeldung (Standardwert)
2 - Programmabbruch
Welche Fehlerinformationen werden protokolliert?
– goProgram.ErrorDetailLevel=




0 – nur die Fehlermeldung
1 – Fehlermeldung und Aufrufstapel (Standardwert)
2 – detaillierte Fehlerinformationen
(Standardverhalten bis VFX 7.1)
Versand des Fehlerprotokolls per E-Mail
– goProgram.csupportemail
VFX 9.5 - Workshop
Hooks



Einschalten in Vfxmain.prg
nEnableHook=1 Enabled, 2 Disabled, 0 Use
form setting
Rückgabewerte steuern das Verhalten
– .T.
Ausführung fortsetzen
– 0 oder .F.
Ausführung abbrechen, Rückgabewert .T.
–1
Ausführung abbrechen, Rückgabewert .F.
VFX 9.5 - Workshop
Hooks
FUNCTION eventhookhandler(tcevent, toobject, toform)
LOCAL lcontinue
lcontinue = .T.
DO CASE
CASE UPPER(tcevent)=="INIT"
DO CASE
CASE UPPER(toobject.baseclass)=="GRID"
toobject.allowrowsizing=.F.
toobject.allowheadersizing=.F.
VFX 9.5 - Workshop
Update Project Wizard


Vollautomatische Aktualisierung
bestehender
VFX-Anwendungen
Aktualisierung auf den neuesten VFX Build
VFX 9.5 - Workshop
Weitere Features für
Entwickler

Task Panes
– VFX 9.5
– VFX-Community

Viele neue Wizards und Builder
–
–
–
–
–
–
Project Update Wizard
Application Builder
CursorAdapter Wizard
Parent/Child Builder
Audit Trigger Wizard
Project Documenting
VFX 9.5 - Workshop
Benutzerverwaltung


Verwaltung von Benutzergruppen mit
Rechten
Protokolle und Sichten für aktiv
eingeloggte Anwender (für exklusive
Tasks)
VFX 9.5 - Workshop
Suchdialog




Beliebig viele Filterbedingungen
kombinierbar
Einstellungen je Formular und Benutzer
gespeichert
Nur sinnvolle Operatoren
Keine ungültigen Eingaben möglich
VFX 9.5 - Workshop
Datum und Zeit

neuer Kalender
– basierend auf MonthView Control
– keine OCX-Installation erforderlich

Hotkeys zur Datumsauswahl
–
–
–
–

H – heute
A – Anfang des Jahres
B – Beginn des Monats
+/- - 1 Tag vorwärts oder zurück
Eingabe von Datetime-Werten
VFX 9.5 - Workshop
OLE drag & drop

Vollständig generisch in VFX integriert
– aus einem Steuerelement


nOLEenabledrag=1
nOLEdropForceEditmode=1
– aus einer Seite eines Seitenrahmens unter
Berücksichtigung der Taborder

nPageOLEdragdrop=1
– aus einem Grid


immer eingeschaltet
Unterstützung aller Datentypen
VFX 9.5 - Workshop
Einstellung der Sprache zur
Laufzeit

Runtime Localization
Im Anmeldedialog
In einer Combobox in der Symbolleiste

Beispiel: VFPizza und VFX95Traders


VFX 9.5 - Workshop
Datensicherung mit ZIPFunktion




ZIP-Algorithmus in VFX 9.5 integriert
Datensicherung der aktuellen Datenbank
in eine Zip-Datei über einen Menüpunkt
Wiederherstellung der aktuellen
Datenbank aus einer Zip-Datei über einen
Menüpunkt
direkter Aufruf der ZIP-Funktionen
für eigene Anwendungen möglich
VFX 9.5 - Workshop
VFX.fll





Internet, E-Mail und Hilfsfunktionen
Produktaktivierung
Datensicherung
SQL Server
Achtung: Die VFX.fll muss an den
Kunden mitgeliefert werden!
VFX 9.5 - Workshop
VFX-Menü-Designer


WYSIWYG
Unterstützung aller Menü-Features, die
VFP bietet
– Schriftartattribute, Effekte
– alle Events
– Menüeinträge mit Markierung

Unterstützung von Konstanten
– sprachunabhängige Menüs
VFX 9.5 - Workshop
Wichtige VFX-Methoden






Valid auf Formularebene
OnRecordMove
OnPostInsert
OnSave
OnPrint
OnPrev, OnNext, OnTop, OnBottom
VFX 9.5 - Workshop
Dokumentenverwaltung

Container-Klasse zur Verwaltung von
Dokumenten
– Per Drag & Drop auf jedem Formular
einsetzbar
– Einfache Konfiguration
– Dokumente sind „Children“

Beispiel: Parent.scx in VFX95Test
VFX 9.5 - Workshop
Audit-Trail


Neuer Trigger Wizard!
Trigger in den Tabellen
– _audit_insert()
– _audit_update()
– _audit_delete()


Anzeige des Protokolls über ein VFXFormular
Und-Verknüpfung mit anderen Triggern
möglich
VFX 9.5 - Workshop
Was noch?


Integriertes Werkzeug für die
Datenbankreparatur
Konfigurieren einer DFÜ-Netzwerkverbindung
– Define DUN connection parameters



Integration eines Fernwartungsprogramms
Automatische Installation des Abobe Reader
beim Kunden
Und vieles mehr… 
VFX 9.5 - Workshop
Wir haben das Ziel erreicht!






Die Anwendung ist fertig.
Kompletter Rahmen durch VFX erstellt
Datenbank mit üblichen Tools erstellt
Formulare mit den VFX Buildern erstellt
Bearbeitung mit VFP zu jeder Zeit
Hohe Qualität = zufriedene Kunden
VFX 9.5 - Workshop
Lokalisierung

VFX – Language Management Builder
• Auswahl der Sprachen bei Lokalisierung zur
Laufzeit

VFX – Langsetup Builder
• Unterstützung von Klassen
• Unterstützung von Berichten
• Unterstützung von Vfxfopen.dbf

Rekursiver Aufruf der LangSetup-Methode
in allen Steuerelementen
VFX 9.5 - Workshop
Fragen
?
VFX 9.5 - Workshop
VFX95Test





Benutzergruppen
Dokument-Container
COneToManyPageFrame
Geschäftsgrafiken mit CBusinessGraph
Menü Extras
VFX 9.5 - Workshop
VFX95Traders






Basierend auf Tastrade.dbc
Office Compatible
Drucken, Speichern, E-Mailversand, Fax
1:n Formulare mit Auswahllisten
Produktaktivierung
Aktualisierung der Anwendung über das
Internet
– Kundenverwaltung, Versionsverwaltung

Fernwartung
VFX 9.5 - Workshop
Links

Download und Infos zu VFX:
– www.visualextend.de
– portal.dfpug.de, Reiter/Verzeichnis VFX

Mehr Infos zu VFX:
– www.my-vfx.de

Kostenloser Support zu VFX:
– news.dfpug.de / forum.dfpug.de
VFX 9.5 - Workshop
Vielen Dank für Euer Interesse!
Viel Spaß mit VFX 9.5 wünscht
Uwe Habermann
VFX 9.5 - Workshop
Pause!
VFX 9.5 - Workshop
Herunterladen