VFX 9.5 - Workshop
Download
Report
Transcript VFX 9.5 - Workshop
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