
maXbox3 Release 3.8.2 on February 2012
Download Version 3.8.2 maXbox3 Win of maXbox3 or maXbox3 Linux from sourceforge.
1. New features
Now almost 2850 functions /procedures and about 290 objects /classes of VCL, FCL, LCL, JCL and CLX with 280 examples and 15 tutorials
- CryptoBox3 is now part of mX3, AES256 Ciphering of TurboPower Lockbox3
- new Compiler mX4, stricter rules, enhanced decompile and debug
- USB stick starting or from a UNC Network Path
- Solved a Pattern Solution for Tower of Hanoi 080_pas_hanoi2_sol.txt
1.1 Overview features
- 15 Tutorials and 280 Examples
- Syntax Check F2 - Java, C Syntax in Context Menu, Resource Explorer
- mX4 Compiler, Version Check, Boot Loader Script (AutoStart)
- Performance Counter and Modules Counter
- Stop forever loops by edit and recompile if Options/ProcessMessages is set
- App Info, Crypto Unit, SocketServer, UpdateService, ScriptLoader, S(cript)Explorer
- Enhanced OpenTools API, run example '214_mxdocudemo3.txt'
- Service Site and Version Check: http://www.softwareschule.ch/maxbox.htm
- New Units: DB System, DataSets, Printer, MediaPlayer, Grids, Dialogs, DBX, ADO, FileUtils, DBProvider, ClientDataSet, JCLx
- SHA1 Hash of maXbox Win 3.8.2: D43995AB1866D29F0DEAD801EBE387A2F7398020
- SHA1 Hash of maXbox CLX 3.7.2: 796C96DD1399B9D2E00D598B2B239DECD90F8F3D
- Shell Version is: 393216, Version maXbox3: 3.8.2.4
mX3 Engine framework
Extensible
- OpenTools API Inbuilt functions of the App allows for pre and post processing of all public methods and properties of the mX3 framework (anatomic).
E.G. you can alter title or form of the GUI or set your own menu, memo or edit style. You find the functions in /Debug/Code Completion List/ at the end of the output. Check also the ex. 143_OpenTools_API. Full source code for the box
and other Libs like SynEdit or ImageFileLibBCB is provided.
- Provided Functions. Over 750 new Delphi, Pascal, network and Indy functions registered and built in (pre compiled) and now 910 functions/procedures and 120 types and constants provided (see file: upsi_allfunctionslist.txt) or in menu /Help/All Functions List. All Functions can create custom commands in your script that can process parameters and return result sets using the same framework objects and methods used for Delphi or Pascal.
These commands or new ones can also be organized into custom namespaces by setting a include file like the pas_includebox.inc file.
The function Show Interface in context menu leverages this capability to implement a "Overview" command that returns a list on the current state of all used functions in a script.
- Command Line Interface. The mX3 is fully command line enabled for both the Win and Linux system, see example 150_command_line.
Ease of use
- Object Oriented. Authored and compiled in Delphi 2007 SP2. The GUI is simple with code edit and output memo, error handling is exception based and built in resource management is provided. Simple context menu
- Single sourced. Allows apps or scripts to run without change in both the win32 and linux platforms or alter it with directives.
- Solid Engine Pascal Script. With the function ProcessMessagesON/OFF or IncludeON/OFF you can switch the state of the runtimer and it doesn't hang after long running (Application.ProcessMessages). Also new error log under /Debug/Show Last Exceptions available.
Performance
- Light weight design in one Exe. No Installation, runs from Stick
- Delphi Native Compiler. The mX3 tool can be used directly independent of VCL components or any other installations.
Open Architecture
- Framework source code. Full source code included by remobjects and maXbox 3rd party tools.
- Sourceforge wiki suite. Source code or content included to help understanding and verify expected behavior.
- Documentation. Source code documentation
for the interface, functionlist and a lot of tutorials too.

Compatibility
- ObjectPascal and VCL. Most applications in one file (no interface section) compile and run without modifications from Pascal.
- Scripting Engine. Enables scripts to be compatible with mX3_win, mX3_clx or mX3_mac machines.
- DLL adapter. For non Pascal code there is an adapter driver that is used to use functions from a DLL in your script.
- Pascal Shell. For Writeln, Readln or PrintF (Writeln+Format) on a output window.
- Syntax Change. To edit HTLM, SQL, Java, Tex or C++ Docs, change it with the context menu in your script.
ImageFileLibBCB. Program can read and write BMP, ICO, CUR, PNG, MNG, PCX, TIFF and JPEG 2000 bitmaps. RAS, PNM, PGM, PPM, HIPS images can be loaded, but not created. More graphics support for Canvas and TPicture, provides conversion pooling for any graphic driver.
Indy Socket Support. Provides socket support capability. SMTP, POP3, URI, HTTP, FTP, SHA1, ASN1...
System Utils. Sysutils, Strutils, RegEx, Shell and Ini support in script and file - New binary operations.
Source code documentation. Works with XML help insight for all registered public methods, properties, events. XML/Html Documentation can be generated using the --doc Delphi compiler switch.
Use Case designer. Enables modeling of use cases and provides image conversion to a lot of graphic formats in mX3 framework.
Indy interfaced methods. Concerning Indy, the SMTP, IdDayTime, hashCRC and message support is available, maXbox becomes a simple mailbox too, also the Indy globals with a lot of network or binary functions like get hostname or processid is done in mX3.
mX3 Adapters. Improvments of 64Bit, BigInt, PNG, Bitmap, Canvas, MP3, POP3, HTML and Ansi/WideStrings are done. A lot of String and Math Functions are added. This allows apps to still use older scripts with the improvements of mX3.
Samples
- Examples. The examples from _1 to _220 in categories base, math, graphic, statistic, internet, network, system, admin, science, multimedia, games, database and specials. Certification test suite for the mX3 framework is 214_mxdocudemo3.txt. This is a script compliance test suite that also provides good examples on how to code the mX3 framework directly with the OpenTools API.
- Tutorials. Demonstrates the ease of use and power of mX3 such as the Starter1 .. Starter10.
Shell Execute Procedure
Unified code base is much easier to start with external shell scripts or batch code, and is easier to maintain.
mX3 now accesses and executes shell code using the new ExecuteCommand or ExecuteShell Procedure.
Enhanced Ini-File maxboxdef.ini
- LINENUMBERS=Y :shows linenumbers in editor also for printing
- EXCEPTIONLOG=Y :allows to write an exception log in maxboxerrorlog.txt
- EXECUTESHELL=Y :permission setting to execute a shell command or batch!
- PRELAST_FILE='' :remembers the last open file
- BOOTSCRIPT=Y :boot loader script to set/init functions and features of maXbox
External Libs and Components imported
- Indy 9 and Indy 10 Internet
- ImageFileLib BCB V1.16
- EXE compressor UPX
- SynEdit Components 2.0.5
- niRegularExpression 1.2
- Pascal Script 3.0.3++
- VCL Delphi 2007 CLX Kylix3
- JCL JediCodeLibrary 2007 CLX
- Open SSL 1.0 SSLeay
- Turbo Power LockBox 3.4
Note that Unicode, PChar and 64 bit operations depends on definition files and can't supported in a general manner.
2. Release and Change Notes
Plugin Driver Concept
The new driver will be called mX3plugin.dll. This driver supports external apps registered in mX3. This driver will only work with the version of the next 4.0 so for the meantime in V3.8 MP3, POP3, Memory, SExplorer and CipherboX is now available in /Options/..and for POP3 EMail configurable in an Ini-file named maildef.ini.
Available Lib's
- TIFFRead.dll : read TIFF images.
- income.dll : test unit class.
- dbxint30.dll : DBX driver for InterBase.
- midas.dll : ClientDataSet CDS Provider.
- bds_delphi.dci : file of code completion templates.
- pas_includebox.inc : for external functions.
Procedure/Function Changes
Most apps or scripts will not be affected by this changes. However
there are a some methods, properties, events, constants and enums that
were removed or replaced with equivalent functionality from the VCL runtime lib, JEDI or Indy Globals. These changes were required for one of two reasons:
- Shift to using the more Pascal-like mX3 framework instead of the more c-like com interfaces that external libs used.
- Closer to the ObjectPascal Standard. Their is now a higher level of compatibility between native and CLX version of mX3.
- Most of the functions support now the Delphi Runtime Library (RTL) and you can call them directly from the script.
Known compatibility issues and bugs:
- A couple of minor bug fixes and now includes some built in test cases. Now is now;) a TDateTime and not a string anymore. 16bit unit is deprecated, empty and consequently no longer needed. Solved Write bug for output Most
of this units content has been moved to either the Sysutils or System units.
- Debuging and Decompile can be disturbed either by events or method handlers are in use (e.g. onClose, onDrawcell, onIdle..) or a property like form.style =[fsBold]. So uncomment this line to debug the code. LoadBytecode will be fixed in V4.0.
In Win7 or vista by using labels from TLabel set transparent:= false;
For graphics/forms concerning visibility/performance try the ProcessMessages! flag under /Options/ProcessMessages! or the switch in script ProcessMessagesON / ProcessMessagesOFF.
Untyped Pointer Functions like move or fillchar have either be removed, renamed, or replaced by move2, fillchar2 or ExecuteThread functions.
Override Functions do have different names like myftp.Put1() or myftp.Put2()
Currency Converter Str has a problem with the type currency
New compiletime and component count support functions for controls, unused symbols or misformed files.
SetFocus on a form wont't work in any case
- Voice function supported. Voice(), Say() or Speak(). These static com library linked into mX3 allows a script to speak.
New Imported and Registered Units
Using Units and Packages (without PS Import and VCL Standard Components)
- 01 unit RIRegister_StrUtils_Routines(exec); (Delphi) Base
- 02 unit SIRegister_IdStrings; (Indy Sockets) Base
- 03 unit RIRegister_niSTRING_Routines(Exec); (RegEx) Base
- 04 unit uPSI_fMain Functions; (maXbox) Base
- 05 unit IFSI_WinForm1puzzle; (maXbox)
- 06 unit RIRegister_LinarBitmap_Routines(Exec); (ImageFileLibBCB) Base
- 07 unit RegisterDateTimeLibrary_R(exec); (Delphi) Base
- 08 unit RIRegister_MathMax_Routines(exec); (Jedi & Delphi) Base
- 09 unit RIRegister_IdGlobal_Routines(exec); (Indy Sockets) Base
- 10 unit RIRegister_SysUtils_Routines(Exec); (Delphi) Base
- 11 unit uPSI_IdTCPConnection; Indy some functions
- 12 unit uPSCompiler.pas; PS kernel functions
- 13 unit uPSI_DBCommon; DB Common_Routines/Types
- 14 unit uPSI_Printers.pas; Delphi VCL
- 15 unit uPSI_MPlayer.pas; Delphi VCL
- 16 unit uPSC_comobj/RegistryRead; COM Functions
- 17 unit uPSI_Clipbrd and Grids; Delphi VCL
- 18 unit Filectrl IFSI_SysUtils_max; VCL Runtime
- 19 unit uPSI_SqlExpr; DBX3
- 20 unit uPSI_ADODB; ADODB
- 21 unit uPSI_StrHlpr; String Helper Routines
- 22 unit uPSI_DateUtils; Expansion to DateTimeLib
- 23 unit uPSI_FileUtils; Expansion to Sys/File Utils
- 24 unit JUtils / gsUtils; Jedi / MetaBase
- 25 unit JvFunctions_max; Jedi Functions
- 26 unit uPSIHTTPParser; Delphi VCL
- 27 unit uPSIHTTPUtil; Delphi VCL
- 28 unit uPSI_XMLUtil; Delphi VCL
- 29 unit SOAPHTTPClient; Delphi SOAP WebService
- 30 unit uPSI_Contnrs; Delphi RTL Class Container
- 31 unit uPSI_MaskUtils; RTL Edit and Mask
- 32 unit uPSI_MyBigInt; maXbox Math
- 33 unit uPSI_ConvUtils; Delphi VCL Conversion
- 34 unit uPSITypes_P; Delphi\Win32\rtl\sys
- 35 unit uPSI_IdHashSHA1; Indy Crypto Lib
- 36 unit uPSI_IdHashMessageDigest Indy Crypto;
- 37 unit uPSI_IdASN1Util; Indy ASN1Utility Routines;
- 38 unit uPSI_IdLogFile; Indy Logger from LogBase
- 39 unit uPSI_IdIcmpClient; Indy Ping ICMP
- 40 unit uPSI_IdHashMDigest_max; Indy Crypto &OpenSSL;
- 41 unit uPSI_FileCtrl; Delphi RTL
- 42 unit uPSI_Outline; Delphi VCL
- 43 unit uPSI_ScktComp; Delphi RTL
- 44 unit uPSI_Calendar; Delphi VCL
- 45 unit uPSI_VListView VListView;
- 46 unit uPSI_DBGrids; Delphi VCL
- 47 unit uPSI_DBCtrls; Delphi VCL
- 48 unit ide_debugoutput; maXbox
- 49 unit uPSI_ComCtrls; Delphi VCL
- 50 unit uPSC_stdctrls+; Delphi VCL
- 51 unit uPSI_Dialogs; Delphi VCL
- 52 unit uPSI_StdConvs; Delphi RTL
- 53 unit uPSI_DBClient; Delphi RTL
- 54 unit uPSI_DBPlatform; Delphi RTL
- 55 unit uPSI_Provider; Delphi RTL
- 56 unit uPSI_FMTBcd; Delphi RTL
- 57 unit uPSI_DBCGrids; Delphi VCL
- 58 unit uPSI_CDSUtil; Borland MIDAS
- 59 unit uPSI_VarHlpr; Delphi RTL
- 60 unit uPSI_ExtDlgs; Delphi VCL
- 61 unit sdpStopwatch; maXbox
- 62 unit uPSI_JclStatistics; JCL
- 63 unit uPSI_JclLogic; JCL
- 64 unit uPSI_JclMiscel; JCL
- 65 unit uPSI_JclMath_max; JCL RTL
- 66 unit uPSI_uTPLb_StreamUtils; LockBox 3
- 67 unit uPSI_MathUtils; BCB
- 68 unit uPSI_JclMultimedia; JCL
- 69 unit uPSI_WideStrUtils; Delphi API/RTL
- 70 unit uPSI_GraphUtil; Delphi RTL
- 71 unit uPSI_TypeTrans; Delphi RTL
- 72 unit uPSI_HTTPApp; Delphi VCL
- 73 unit uPSI_DBWeb; Delphi VCL
- 74 unit uPSI_DBBdeWeb; Delphi VCL
- 75 unit uPSI_DBXpressWeb; Delphi VCL
- 76 unit uPSI_ShadowWnd; Delphi VCL
- 77 unit uPSI_ToolWin; Delphi VCL
- 78 unit uPSI_Tabs; Delphi VCL
- 79 unit uPSI_JclGraphUtils; JCL
- 80 unit uPSI_JclCounter; JCL
- 81 unit uPSI_JclSysInfo; JCL
- 82 unit uPSI_JclSecurity; JCL
- 83 unit uPSI_JclFileUtils; JCL
- 84 unit uPSI_IdUserAccounts; Indy
- 85 unit uPSI_IdAuthentication; Indy
- 86 unit uPSI_uTPLb_AES; LockBox 3
- 87 unit uPSI_IdHashSHA1; LockBox 3
- 88 unit uTPLb_BlockCipher; LockBox 3
- 89 unit unit uPSI_ValEdit.pas; Delphi VCL
- 90 unit uPSI_JvVCLUtils; JCL
Examples Catalog
Using Examples and Sources from the Directory Catalog
- Ex. 001-068 cat base, math;_________eg. 14 primetester
- Ex. 069-089 cat graphics;____________eg. 69 ledmatrix
- Ex. 090-099 cat statistics;___________eg. 90 sudoku
- Ex. 100-120 cat internet;____________eg. 109 mp3 download
- Ex. 121-129 cat network, media;______eg. 126 time server
- Ex. 130-150 cat systems, admin;______eg. 131 system information
- Ex. 151-174 cat science;____________eg. 155 random
- Ex. 175-190 cat multimedia, games;___eg. 175 tetris
- Ex. 191-199 cat database;___________eg. 196 SQL exec
- Ex. 200-220 cat specials;____________eg. 218 biorythmus
- Ex. 221-250 cat forms;______________eg. 222 memo text component
- Ex. 251-260 cat crypto;______________eg. 258_AES_cryptobox.txt
3. Review mX3 links and download
Review the mX3 Framework Show architecture overview document.
Recompile and test your maXbox3 or use the compiled version 3.8 from sourceforge download.
View the mX3 Functions List unit and function/procedure overview document.
More Information mX3 Site on the portal with docu, link and download support.
Download Now maXbox3 sourceforge also Linux (January 2012) and Mac Version (Mai 2012).
Service Wiki Forum - The Art of Programming by sourceforge.net.