Präsentation

Download Report

Transcript Präsentation

Slide 1

Neue und selten genutzte
Features von VFX

Uwe Habermann
[email protected]


Slide 2

Die Angst vor der Zukunft
* Support für VFP endete am 13.01.2015
* Dadurch keine Möglichkeit mehr
VFP Lizenzen zu erwerben
* Trotzdem neue VFP Projekte
* Umfangreiche Weiterentwicklungen
* Redesign


Slide 3

Die Freude auf die Zukunft
* VFX wird weiterentwickelt
* Support für VFX geht weiter
* VFX kann auch weiterhin erworben
werden


Slide 4

Was ist neu?
* VFX 15 Build 2713
* Vollversion 2714
* Reporting Fixes
* Upsizing Wizard


Slide 5

Reporting Fixes
* This release fixes a bug in
ReportOutput.app and ReportBuilder.app
that didn't handle higher DPI displays
properly (thanks to Joel Leach)
* Verbesserung des Layouts von Dialogen
* SET TALK OFF


Slide 6

VFX – Upsizing Wizard
* Ständige Weiterentwicklung!
* Standardmäßig wird der neueste
SQL Treiber verwendet
* Neue Namensgebung für Constraints
__
* Wizard kann nicht mehr mit ESC
geschlossen werden


Slide 7

VFX – Upsizing Wizard
* Upsizing von Zeichenfeldern zu
nvarchar oder nchar
* Vermeidung von Fehlern bei
BULK INSERT
* Constraints für Fremdschlüssel werden
nicht generiert, wenn alle RI Regeln auf
ignorieren stehen


Slide 8

VFX – Upsizing Wizard
* Keine Unterstützung von SQL Server 7
(1998/1999) mehr
* Kleine Fixes bei BulkInsert
* Fortschrittsanzeige bei JimExport


Slide 9

VFX – Upsizing Wizard
* BulkInsert
* Einfügen aus generierter Textdatei
* Sehr schnell

* FastExport
* Generiert Stored Procedures

* JimExport
* Insert Befehl je Datensatz
* Langsam, aber Unicode-Unterstützung
und geht immer


Slide 10

VFX – Upsizing Wizard
* Unicode-Unterstützung
* Je Datensatz(!) anderer Zeichensatz
möglich
* Westlich
* Kyrillisch
* Griechisch usw.

* SQL Server Feldtyp nVarchar
* DBC Feld Fontcharset


Slide 11

VFX – Upsizing Wizard
* Seite 4
* FontCharSet Field
* Seite 5
* Do not use bulk insert for fast data upload
* Bulk insert unterstützt kein Unicode

* Neu: Unicode Conversion


Slide 12

Selten genutzte Features


Slide 13

VFX – Installation Wizard
* Erstellt Exe-Datei
* Stellt leere Datenbank bereit
* Kopiert alle erforderlichen Dateien in
Ordner Install
* Einschließlich VFP Laufzeitumgebung


Slide 14

VFX – Installation Wizard
* MSComctl.ocx
* Treeview, ImageList (Favoriten)

* MSComct2.ocx
* Kalender

* MSMAPI32.ocx
* E-Mailversand

* MSCHRT20.ocx
* Geschäftsgrafiken


Slide 15

OneToManyToMany
* Neue Formularklasse
* VFX – cOneToManyToMany Builder
* Unterstützung von
* Tabellen
* Cursoradaptern

* Intuitive Erstellung, wie bei allen
VFX Formularen


Slide 16

OneToManyToMany
* VFX – Form Wizard
* Datenumgebung
* VFX – cOneToManyToMany Builder
* Parent-Seite
* Child-Seite
* Grandchild-Seite

* Demo


Slide 17

OneToManyToMany
* Beispiele in VFPizza
* Basierend auf DBF
* Basierend auf CA

* Generische Berichte


Slide 18

Maintenance Timer
* Nicht in der Entwicklungsumgebung
* Nur in der Exe-Datei berücksichtigt
* Kein Start möglich, solange
Wartungsdatei existiert


Slide 19

Maintenance Timer
* VFX – Application Builder
* Maintenance Timer Interval
* Prüfung auf Wartungsdatei

* Maintenance Timeout
* Restzeit für den Benutzer

* Maintenance application termination message
timeout
* Anzeigedauer der Meldung

* Name of maintenance file
* Wartungsdateiname


Slide 20

OnrecordmoveRefresh
und Onrecordmove
* Beim Bewegen des Satzzeigers im ParentTeil eines 1:n Formulars müssen die
Child-Daten nachgeladen werden
* Onrecordmove wird bei jeder Bewegung
eines Parent-Datensatzes ausgeführt
* OnrecordmoveRefresh wird zeitverzögert
ausgeführt
* nRecordMoveRefreshtimeout


Slide 21

cPickDialogPara
Cpickwhereclause
* Beispiel in VFPizza: OrdersCA.scx
* Demo
* cntCustomerid.cPickForm =
'VFXPICKPARA'
* caOrders.Cpickwhereclause =
'CustomerName LIKE ?tcPara'


Slide 22

Felder für Suchdialog angeben
* Formularmethode onsearch
* LPARAMETERS tofieldlist
* IF TYPE("tofieldlist")#"O" AND !ISNULL(tofieldlist)
*
tofieldlist=CREATEOBJECT("cFieldlist")
*
tofieldlist.ctablelist=""
*
tofieldlist.addcontrolsource("customers.customername","Kundenname")
*
tofieldlist.addcontrolsource("customers.contactperson","Ansprechpartner"
)
*
* Add as many columns as needed.
* ENDIF
* RETURN DODEFAULT(tofieldlist)

* Demo


Slide 23

Datumsformat einstellen
* Ohne Lokalisierung zur Laufzeit
* Applfunc.prg – FormSetup()
* SET DATE ANSI

* Bei Lokalisierung zur Laufzeit
* thisform.langsetup()
* thisform.onsetenv()
* DODEFAULT()
* SET DATE ANSI

* Demo


Slide 24

E-Mail versenden
* Mit MAPI
* MSMAPI32.ocx muss registriert sein
* Zum Beispiel mit Outlook

* E-Mail mit Anhang
* Demo


Slide 25

Einfügeformular
* Formular startet im Einfügemodus
* Thisform.lInsertOnly = .T.
* Released nach dem Speichern
* Code in onSave() nach dem Dodefault()
wird nicht ausgeführt
* Ggf. in onPostSave() verschieben
* Demo


Slide 26

Aktualisierung der Exe-Datei
* VFX - Application Builder
* Seite "Application Behavior"
* "Allow exe update via Internet"

* VfxSys.dbf - UpdateApp
* URL zur neuen Exe-Datei
* Beispiel:
D: http://www.hceood.eu/Download/vfpizza.vfx


Slide 27

Aktualisierung der Exe-Datei
* Appl.vcx
* cAppUpdateEngine.cIniUrl
* Datei an dieser URL enthält neue
Versionsnummer
* Beispiel: 3.4.5
* Wenn cAppUpdateEngine.cIniUrl leer ist,
wird die Exe-Datei in jedem Fall
heruntergeladen


Slide 28

Aktualisierung der Exe-Datei
* Download und Aktualisierung wenn
Versionsnummer in Ini-Datei größer als
Versionsnummer in VfxSys.Appversion ist
* Loader.exe muss im Exe-Ordner
vorhanden sein!


Slide 29

RTF Bericht drucken
* Beispiel in VFX15Test, ParentRTF.frx
* Rechteck
* Eigenschaften, Other, Edit comment...
* '*:RTF'
* Speichern
* USE report\ParentRTF.frx
* BROWSE FOR comment = '*:RTF'
* REPLACE style with


Slide 30

Lokalisierung


Slide 31

Lokalisierung
* Zur Entwicklungszeit
* Texte werden aus Include-Dateien gelesen
* Für jede Sprache muss eine Exe-Datei erstellt
werden

* Zur Laufzeit
* Texte werden aus Vfxmsg.dbf gelesen
* Vfxmsg.dbf kann in Exe-Datei eingeschlossen
werden
* Sprachumschaltung zur Laufzeit möglich


Slide 32

Lokalisierung
* VFX – Language Management
* VFX – Langsetup Builder


Slide 33

VFX – Language Management
* Deaktivieren nicht benötigter Sprachen
* Löschen nicht benötigter Texte
* Verkleinert die Tabelle und damit die
Exe-Datei

* FontCharSet
* Kompatibilität mit Codepage


Slide 34

VFX – Langsetup Builder
* Lokalisierung von
* Formularen
* Berichten
* Öffnen-Dialog

* Generiert Code in Methode LangSetup
* Ausgeführt bei
* Formularstart
* Sprachwechsel

* Fügt Datensätze in Vfxmsg hinzu


Slide 35

Vielen Dank!

Uwe Habermann
[email protected]