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
* 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