1 / 35

PxPlus – Past and Present

PxPlus – Past and Present. Michael F. King President PVX Plus Technologies Original developer of ProvideX and PxPlus. ProvideX versus PxPlus. Version 9 last ProvideX Support for ProvideX will continue as long as same version PxPlus supported Name will be discontinued over next 12 months

fabian
Download Presentation

PxPlus – Past and Present

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PxPlus – Past and Present Michael F. King President PVX Plus Technologies Original developer of ProvideX and PxPlus

  2. ProvideX versus PxPlus • Version 9 last ProvideX • Support for ProvideX will continue as long as same version PxPlus supported • Name will be discontinued over next 12 months • Version 10 first PxPlus only • All new development will be based on PxPlus source

  3. PxPlus Features • Installation and Setup • Language Extensions • File System

  4. Installation and Setup • Our goal was to simplify install process • Reduce time and cost for install and upgrades • Eliminate upgrade problems • Use terminology consistent with other Windows

  5. Installation and Setup • New 25 Character key format • 5 five character segments • Contains serial numbers, users, expiry and package information. • Avoids user having to enter multiple pieces of information • Allows common transpositions • Zero versus Oh, I versus 1

  6. Installation and Setup • Online Activation • Enter ‘Installation key’ then start PxPlus or select On-line activation • Reduces amount of data entered thus reduces potential typographical errors • To upgrade just place/confirm order and re-run activation • Upgrades can be done without shutting down

  7. Installation and Setup • Changed default location • Removed default install of Program Files/Program Data to avoid UAC Issues • Long term will help avoid Microsoft security issues • Default INI search location • If not specified uses EXE pathname • Replaces EXE with INI • First location used

  8. Installation and Setup

  9. Language Extensions • Associative Arrays • Allows use of strings as array subscripts X[“Mike”] = 1234 • Array is dynamically created • No predefined range with initial subscript of 1 • DIM function can be used to find actual index if needed • CLEAR/BEGIN clears the array • FOR N$ INDEX Array{All} used to process all elements • Quick access to element using hash tables • Faster than using Memory files • Elements are not sorted by key

  10. Language Extensions • Structured Strings • Fully compatible string structures (templates) • Standard ProvideX splits strings into individual variables • PxPlus uses same approach as BBx • Avoids problems with CALL’s and elsewhere • Improved performance • Enhanced to include OS formats • Built-in standard structures

  11. Language Extensions • Structured Error Handling • C++ Style Try/Catch Functionality • New ON ERR clause: GOSUB LOAD_CLIENT ON ERR PRINT “Unable to load client” • Executes statement following ON ERR • Supported by GOSUB, WHILE, FOR, REPEAT and SELECT

  12. Language Extensions • Object Oriented Interface enhancements • Dynamic properties • Automatic Housekeeping • Ability to MERGE Objects • Object Caching • Object defined/enhanced controls

  13. Language ExtensionsObject Oriented Programming Dynamic Properties Properties can be created by Object Use ADD PROPERTY directive Optional ability to add properties on the fly Allow by adding: DEF CLASS “…” ACCEPT PROPERTIES Property created when assigned value

  14. Language ExtensionsObject Oriented Programming • Automatic housekeeping thru dependencies • Object creation can tie deletion to: • Another object • An open file • The current Program • A control on the screen • Linkage established using the FOR clause MyObj = NEW(“object” FOR Dependency) Helps reduce programming errors and logic

  15. Language ExtensionsObject Oriented Programming Merging objects Allows properties / methods of one object to cascade/merge with anotherMERGE OBJECT obj_to_extend WITH obj_to_merge Caching of OOP objects Maintains recently defined object structures Improves load/creation time Controlled by system parameter ‘+J’ Default setting is 10 (caches last ten unused object definitions)

  16. Language Extensions • Unicode support • Internal support for Unicode using UTF-8 • UTF-8 is industry standard method to represent UNICODE using 8 bits • Allows access to all potential character sets • Many functions provide special logic for UTF-8 • e.g. LEN ( ) can return true # characters • File parsing recognizes UTF sequences to avoid misinterpretation of separator characters • Windows versions support foreign keyboard input

  17. Language Extensions • Store programs and static data in DLL library • PLUSLIB.DLL allows storage of programs/file in DLL • Single file contains full application • Simplifies installation • Minimal install becomes EXE, DLLs and key file • Programs/static data cannot be altered • DLL update utility provided: '*plus/dll/maint' We provide core list of files needed in DLL

  18. Language Extensions • Function enhancements • XML parser • Delimited field parsing using ARG • CVS translations • DLL access to Floating point values • MAX/MIN for strings • TCB Enumeration of files, windows, objects, etc. • PTH function to check for file existence • KEY generation extension

  19. Language Extensions • Object enhanced controls (OECs) • Provide way to augment controls with object • Add properties and/or methods to standard controls • Allows you to intercept control requests • Your object can override all properties • Graphical directives mapped to function calls

  20. Language Extensions • Object defined controls (ODCs) • Where can they be used • Host application on different platforms • Macro media and text controls under development • Create totally new controls • All aspects of control done by ProvideX object • Your controls can replace system controls • An ODC server object can be declared to handle all control creation requests • Server also can handle all other graphical requests

  21. Language Extensions • Additional enhancements • Ability to override LPG, ARG(n), NID DEF LPG=“value” DEF ARG(n) = “value” • Blinking mnemonic supported on Windows • Pixel addressing using @X(=nn), @Y(=nn) • Background processing for Windows • Add –BKG on command line after EXE name • Similar to Background on Unix/Linux • Allows program execution with no user count • All windows output suppressed

  22. Language Extensions

  23. Language Extensions

  24. File System • Direct File Access • Use pathname to file instead of channel number in IO directives READ (“AR0001”, KEY=“….) WRITE (“c:\Foobar\Bar1”) A$ • Applies to IO functions as well K$=KEY(“AR0001”)

  25. File System • Direct File Access (continued) • No need to OPEN/CLOSE files • System dynamically performs OPEN and CLOSE • Number of files open controlled by ‘F+’ parameter • All dynamically opened files closed on BEGIN, END • Reduces overhead by sharing file channel • Fewer OS channels used • Less OS load caused by file opens (security checks, etc.) • Care should be taken when using positions in file • File handles are shared

  26. File System • Numeric Keys are supported • No need to convert data to/from string • Proper sort sequence • From most negative to most positive • Zero is not the minimum value • Read of Null key positions to most negative (start of file)

  27. File System • Keyed file Physical Read next (VLR) • Quickly reads file in unordered fashion • Provides raw physical read of data • Eliminates processing and disk access related to key structure processing. Sample timing & IO differences on keyed file ~181,000 records

  28. File System • Named formats in Data Dictionary • Language support of variant records • Allows the application to use imbedded dictionaries for legacy non-normalized files • Access to the dictionary is via IOL=“name” • Name defined in dictionary maintenance READ (nnnn) IOL=“Formatname”

  29. File System • VLR enhancements • Update Plus • Allows you to add fields to existing files • Avoids having to change existing in-code IOLISTs • Data is preserved during rewrite • More keys per block for smaller faster files • Eliminates 255 key per block limit • Reduces size of key trees saving space and time • Multi-segment support for Renames and Erases

  30. File System • Closed file cache defers logical disconnect from file in case file reopened • Reuses pre-established connection • Connection truly dropped on terminal input or anything that could suspend processing • Controlled by the ‘+F’ system parameter • ‘+F’ defines the number of cached connections • Eliminate OS file system searches and security checks to improve performance

  31. File System • File access IO compatibility extensions • Concurrent BBX file IO • Can read BBX files while being accessed by BBx • Thoroughbred IO service • Provides Read/Write access to Thoroughbred files

  32. File System • PDF enhancements • Password definition for reading/modifcation • Encryption • PDF 1-a compatibility • Default margins and other settings • Improved Font detection for Linux

  33. File System • Miscellaneous enhancements • *QUERY* Pseudo file • Provides logical access to system queries • PREFIX enhancements • PREFIX DIRECTORY to map directories and files • PREFIX file third field can be IOLIST • REPEAT DATA for data replication REPEAT DATA TO fileno ON fileno • Replicates all updates (WRITE, PRINT, REMOVE, etc) • Improved System journal with automatic rollover

  34. File System

  35. End of Presentation Thank you for attending Coffee Break

More Related