180 likes | 312 Views
Active Extend. Peter Herzog dFPUG c/o ISYS GmbH. Active Extend Programmsammlung. VFX AFX Wizard Die Dateien des Wizards Wizard Metabase AJAX ;-) AFX.DLL AFX Scripting Engine AFX.INI. Wie arbeitet der VFX AFX Wizard. VFX Form wird gestartet
E N D
Active Extend Peter Herzog dFPUG c/o ISYS GmbH
Active Extend Programmsammlung • VFX AFX Wizard • Die Dateien des Wizards • Wizard Metabase • AJAX ;-) • AFX.DLL • AFX Scripting Engine • AFX.INI
Wie arbeitet der VFX AFX Wizard • VFX Form wird gestartet • VFX Form wird analysiert Cursor und Variablen werden erzeugt • Metadaten und Variablen werden gemischt • Wizfiles und Daten werden kopiert • AFX / AFP Seiten werden erzeugt.
Config.afx • Wenn ein Cursoradapter verwendet wird, wird der Zugangscode zum SQL-Server in der config.vfx gespeichert. • Diese config.vfx wird als config.afx verschlüsselt mit der AFXCrypt Funktion im Rootverzeichnis der APP abgelegt. • Bearbeitbar mit AFXCONFIG.EXE • Die config.afx wird nicht mehr überschrieben.
<App>.AFPA<App>.AFPA.CODE • Jeder Applikation wird eine AFPA und eine AFPA.CODE Datei zugefügt. • In der <App>.AFPA.CODE ist der Pfad und der Name der Datenbank, aus Sicht des Servers, einzutragen. • Diese Dateien werden nicht überschrieben.
XPOPENLOGIN • Startprogramm ist die XPOPEN.AFP oder XPOPEN.AFX • LOGIN.AFP und LOGINVALID.AFP überprüfen mit der VFXFOPEN.DBF den Userlogin. • XPOPENDIR.AFP zeigt das Menü unter Berücksichtigung des Flags INETLEVEL
VFX AFX Internetformular • vfx_<form>.AFP • vfx_<form>.AFP.CODE • vfx_<form>.AFP.AFPI • vfx_<form>_EXEC.AFP • vfx_<form>_EXEC.AFP.CODE • vfx_<form>_FILTER.AFP • vfx_<form>_FILTER.AFP.CODE • vfx_<form>_FILTER_EXEC.AFP • vfx_<form>_GRID<lfd>.AFP • vfx_<form>_GRID<lfd>.AFP.CODE • vfx_<form>_PROC.AFP • vfx_<form>_PROC.AFP.CODE
Wizard Metabase • Alle Klassen und Basisklassen sind als Datensätze erfasst. • Versionsnummer 99.99 wird nicht überschrieben bei einem Update • lCode = .F. bedeutet Textmerge Modus • lCode = .T. bedeutet Execscript Modus • lParam = .T. interne Parameter • Datensätze für EndeTag
AJAX • Das moderne Internetputzmittel ☺ • Async. JavaScript and XML • Eine intelligente Methode um Daten in eine laufende HTML-Maske einzufügen
AFX_Methoden • Code für die PROC-Datei aus • AFX_Valid • AFX_KeyPress • AFX_GotFocus • AFX_LostFocus • Wird umgewandelt in • OnChange() • OnKeyPress() • OnFocus() • OnBlur()
Javascript • HTTP POST zur Procedure Datei • var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") • xmlhttp.Open("POST","<<filename>>_PROC<<extension>>",false) • xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") • xmlhttp.send(DataToSend) • XML String als Objekt erzeugen • var xmldoc = new ActiveXObject("Microsoft.XMLDOM") • xmldoc.async="false" • xmldoc.loadXML(xmlhttp.responsetext)
_PROC Datei_PROC.CODE Datei • Code in der PROC Datei ruft die einzelnen Methoden auf und baut XML-String zusammen • Jede procedure wird in der PROC_CODE Datei erzeugt und dort abgearbeitet. • LPARAMETERS cAlias, nRecno, cControlSource, cControlfield, cValue, cStatustext wird automatisch eingefügt • cValue und cStatustext werden per Referenz übergeben • Goprogram.cpendingmessage
Mögliche Anwendungen • Valid kann den Wert abprüfen und bei Fehlern das Verlassen verhindern. • LostFocus kann Upper() oder Lower() auf den Wert anwenden. • Hinweise können in der Statuszeile angezeigt werden. • Goprogram.cpendingmessage wird als Javascript Alert( ) angezeigt.
AFX.DLL • 3 Programme in einem • 1. Internet ISAPI DLL • 2. normale DLL z.B. auch für C# • 3. VFP FLL (set libr to afx.dll) • Mehrere neue Funktionen
AFX.DLL II • FOXSHORTPATH() • AFXSYS(2015) • AFXTEMPROOT() • AFXENCRYPT() AFXDECRYPT() • WINADMIN() • WINLOG() • WINUSER()
AFX-Scriptengine • Nahezu 90% der AFP 3.0 eingebaut. • Kostenlos für VFX9.5 Anwender • Kostenlos im internen Netzwerk • AFX ist nicht nur eine Scriptengine, sondern eine Plattform für weitere Produkte. • AFX benötigt nur die VFP9 Runtime • XP, Win2K, Win2003
AFX.INI • Verwenden Sie SETAFXINI.EXE • Pro Domainname kann ein eigener User eingestellt werden. • Dadurch können echt abgesicherte AFX-Sites gebaut werden. • Registrierung via ActivationKey erhältlich unter register.visualextend.de
Weitere Informationen • ActiveExtend Homepage http://www.activeextend.com • VisualExtend Homepage http://www.visualextend.de • Registrierung AFX http://register.visualextend.de • Active FoxPro Pages http://www.afpages.de