FormsAPI Master

FormsAPI Master

Product overview


Download the stable V3.0 version.

Download V4.0 Beta

Download the beta V4.0 version.


Pricing and order links


FormsAPI Master ships with many example scripts. Read here what they do and how they function


Answers to frequently asked questions

FormsAPI Master Change Log

New builds of FormsAPI Master are getting released regularly. We follow an iterative development process where bugfixes and new features are added to each new build. If you find a bug in our tools then please make sure it's not already fixed in the latest version. If the bug still exists then we would love to hear about it to get the chance to fix it!

We are usually able to respond and fix things quite quickly thanks to our iterative development approach. Please submit a description of the bug together with a small test case (Forms module, etc) to

3.00.0449 - Released on 16-Oct-2018
  • Global, fixed issue with fetching new release notifications & list of changes
  • Script, The TPLSQLParser helper class had serious bugs (introduced with in build 446) when modifying code

3.00.0448 - Released on 03-Sep-2018
  • Explorer, XML export was not working
  • Search, fix export to text/html crashing when there were modules with no hits
  • Script, V2.0 compatibility, added the "double"/"extended" datatype (based on float)
  • Script, V2.0 compatibility, added pascal-type "out" parameter support
  • Script, V2.0 compatibility, colon between parameter name and datatype is now optional (PL/SQL compatibility)

3.00.0447 - Released on 07-Apr-2018
  • Global, Reports was not showing number values (in compare/search/explore)
  • Compare, merging text in DiffViewer was in some cases ignoring CR/LF
  • Search, property search with "not in" wasn't working
  • Search, property search with "not in" and "in" didn't allow to search for empty values
  • Compare, handle module load failures properly and show an error message instead of just ignoring it

3.00.0446 - Released on 26-Feb-2018
  • Script, fixed a few problems with TPLSQLParser helper class and made it 10x faster
  • Search, had range-check exceptions in certain cases
  • Search, wasn't highlighting words correctly in some cases
  • Search, re-enabling showing search results if the "Show only Modules with Hits" option was selected
  • Search, in multisearch when searching for "ab" and "abc" would only show hits for the first "ab" occurence
  • Search, while search is in progress, new hit-results added need to be filtered according to the view-mode
  • Global, Select-All command should select all nodes in trees (if multiselect is enabled)
  • Search, new feature "refine-search in selected module" implemented

3.00.0445 - Released on 21-Jan-2018
  • search, export of data raised exception when any file exists that didn't had a search hit
  • batch, XML Convert forms11g/12c is using {oh}\bin\frmf2xml.bat but should be {oh}\form1\bin\frmf2xml.bat
  • Global, Start by command line had issues with file handling and API-selection

3.00.0444 - Released on 04-Oct-2017
  • script, fixed error when moving mouse over compilation error messages
  • script, TMemStore.AddRow() didn't accept array of constants as it should
  • script, TMemStore.InsertRow() didn't accept array of constants as it should
  • script, TParamField.DisplayHeight isn't working
  • script, TParamField for PL/SQL Parameters wasn't showing a label
  • script, TMemStore.SaveAsCSV/LoadAsCSV didn't handle columns properly (implemented rfc-4180 standard)

3.00.0443 - Released on 13-Jul-2017
  • FormsAPI, fix eInvalidOp Floating point operation issue on Windows10/Forms11g when connecting to database
  • RepAPI, enabled the "Restrict Values to LOV" for User-Parameters to be writeable
  • RepAPI, new D2RP_HIDEFIRSTCOLUMN boolean property for User-Parameter objects
  • RepAPI, D2RP_LOV_TYPE for User-Parameters is now an enumerated property D2RC_LOTY_NONE / D2RC_LOTY_STATIC/ D2RC_LOTY_SELECT

3.00.0442 - Released on 14-Dec-2016
  • API, Forms12C is requiring the MSVCR90.DLL when using database connections
  • Script, RepAPI_Connect/RepAPI_Disconnect functions have been removed, use API_Connect instead!
  • Script, start by command line didn't log compilation errors
  • Script, new Generic_FindObjByType() function that looks for a matching property (for example for finding package body vs package spec)
  • Script, checkbox-length tutorial scrip, remove file generation and use log instead
  • Global, renamed command line parameter /log to /debuglog as it was conflicting with FormsAPI Master script log
  • Global, multithreading improvement to speed up search/compare/batch tools
  • Global, database connect dialogs where missing the list of database-aliases
  • Search, binary pre-scan option reimplemented again to speed up searches for of (only US7ASCII search strings supported)
  • Search, implement support for starting from command line
  • Search, some objects are not found (such as a LOV name isn't showing the item using it)
  • Batch, running from command-line was broken
  • Global, version/builds shown on the Help/About screen had wrong dates
  • Global, find and replace dialogs don't close when clicking the "x" (go line dialog works)
  • Global, ReportsAPI wasn't using database connection during loading of reports
  • API, Reports modules when saved was setting the module name to lowercase instead of uppercase

3.00.0440 - Released on 08-Feb-2016
  • Global, the application icon was missing
  • Script, the TPLSQLParser class had a bug in regards to replacing content
  • Compare/Explore, subclassed blocks based on stored procedures lost the query-triggers when saved
  • Compare/Explore/Search, modyfing certain object-properties raised "empty object" error (for example setting an items canvas item to empty)
  • Search, the replace functionality now takes * and ? characters literally (instead of treating them as wildcards)

3.00.0439 - Released on 18-Dec-2015
  • Compare, the diff-viewer screen didn't display the old/base properties for editing
  • Search, searching a pipe-character '|' wasn't handled correctly (needed escaping for regular search engine)
  • Global, editing boolean-properties in Search/Compare/Explore didn't work for german/french users
  • Explorer, enabled search function (ctrl+f shortcut) to find objects and values
  • Search, enabled search function (ctrl+f shortcut) to find objects and values
  • Compare, enabled search function (ctrl+f shortcut) to find objects and values
  • Batch, enabled search function (ctrl+f shortcut) to find objects and values

3.00.0438 - Released on 18-Nov-2015
  • Build 437 was actually 436
  • Search, multisearch was limited to 15 entries - increased that one to 127

3.00.0437 - Released on 17-Nov-2015
  • Global, Added Support for Oracle Fusion Middleware 12c
  • Compare, directory-compare failed if a directory containg exactly 3 files are compared
  • Compare, directory-compare export to html/txt was not exporting the directory name correctly
  • Global, improved syntax highlighter for SQL/PLSQL properties (added Oracle keywords, highlight datatypes/etc)
  • Script, new function Generic_GetPropertyStatus(genobj : number; prop : number) : TPropertyStatus;

3.00.0436 - Released on 13-Aug-2015
  • Batch, compile function left empty *.err files after compilation
  • Compare, fix number-properties showing as changed due to incorrect typeacasting (comparing integer with floats)
  • The BaseREF-URL (to locate images/scripts/stylesheets) in html exports is now a configuration and commandline setting
  • Increased timeout for Oracle Reports module loading to cope with bigger modules/slow computers.
  • Global, the "don't remember passwords" option was ignored on all parameter screens
  • Global, added better db connection-dialogs on param forms (with host-alias dropdowns, etc)
  • Search, not escaping the + sign correctly (like for example searching for outter join with "(+)" failed)
  • Compare, was not displaying any changes in the last line of multiline properties (but detection still worked)
  • Compare, added an "adjoining lines" option to display lines around a change for better overview
  • Compare/Explore, have more meaningful names for Datasource Arguments/Columns, now shows if it is for Delete/Update/Lock/etc
  • new function API_GetObjectFullPath(obj in number) return varchar2;
  • new function API_GetObject(obj in number, fullPath in varchar2) return number;

3.00.0435 - Released on 15-Apr-2015
  • Batch Admin, Property Extractor tool implemented
  • Batch Admin, Compiler tool implemented
  • Batch Admin, new PL/SQL Library manager tool implemented
  • Script, TPLSQLParser.GetIdentifierParamValue method now supports parsing named-parameters by index instead of by name
  • Search, speed and stability improvements

3.00.0434 - Released on 25-Jan-2015
  • Search, fixed PropertySearch for boolean properties
  • Search, fixed export to html/text failing when search encountered a module-load-failure
  • Global, Online version check feature implemented
  • DiffViewer, fixed some issues with merge-chevrons (inserting at wrong position, removing inserted/deleted lines, etc)
  • Compare/Explore, record group query property could get lost if record group has a property class attached
  • Global, enabled file drag'n drop support into header/tab of every window, not just on the new-tab screen
  • Compare, improved visual style of added/removed/changed properties/objects

3.00.0433 - Released on 13-Dec-2014
  • Global, fixed access violations when howevering/clicking over the the messageboxes at the bottom of the screens (errors/notifications/taskprogress/etc)
  • FormsAPI, generic_sublass() function was removing path/filelocation in property classes even when the property classes were from different modules.
  • Compare/Search/Explore, object-group-children didn't extract/compare/search properties in object group children.

3.00.0432 - Released on 09-Nov-2014
  • API, database connection was only used first time an API connection was made, but not on subsequent ones
  • API, database connections were failing when multiple tools were started at the same time
  • Global, switching between multiple tools sometimes raised an "invalid window handle" exception
  • PowerSearch, property search for object-only search condition (*ObjectType=???) would not show any results
  • Compare, on connection-error the "go back to mainscreen-button" caused access violations
  • API, have better descriptive error messages on reports loading problems.
  • API, have timeouts for loading/converting reports and forms modules. Without timeouts Search/Compare sometimes hanged.
  • Global, The fileinputs on the Search/compare/Explore parameterscreens are not stretching to the whole window width
  • Batch/Search/Compare, adding a large amount of files on the parameterscreens was slow (took 15-20seconds)
  • Script, fix FileRead function returning garbage due to unicode/ansistring mixing
  • Script, added "directory" parameter type to the new-script-wizard
  • Script, API_SetFormsPath didn't work
  • Script, new API_GetPLSQLParser(obj:number) : TPLSQLParser; function
  • Script, new API_SetPLSQLParser(obj:number, pr:TPLSQLParser); function
  • Script, Wildcardsearch-function wasn't working with open/close brackets in the search string

3.00.0431 - Released on 17-Jun-2014
  • API, fixed issue on API detection at startup when only one version of Oracle Forms was installed
  • Search, fixed error message in Property Search mode when searching forms only properties

3.00.0430 - Released on 16-Jun-2014
  • Global, tab-painting code raised access violation in some rare case (there is another similar bugs that is still open)
  • Scripting, new language functions: API_OracleNLS / API_Language / API_Terriority / API_Characterset
  • Global, fixed parameter screens having issue with illegal filenames
  • Global, taskmenu contained hidden application-frames, not just the application modules main frame
  • Global, fixed tab-key navigation on several screens (Compare/Batch/Search/etc)
  • DevCompare, removed unnecessary library-location property from library modules to avoid wrong change-detections
  • DevCompare, the difference-viewer now has splitterbars to resize the editors
  • API, pll-loading, removed the PLL->PLD->PLL conversion work around as it removes leading/trailing comments in program units.
  • API, saving of pll-modules failed (unicode encoding bug)
  • API, resolved DLL loading problem, we now support multiple of the same Forms versions in different directories
  • API, improved detection by also adding paths from registry-oracle-root (not just from \oracle\all_homes)
  • Search, the property search wasn't working on enumerated properties
  • Search, the replace-mode was using smart whitespace/linesep functionality for the search which it shouldn't
  • Global, improvements to the DevCompare/PowerSearch in case something goes wrong (showing error message now instead of terminating)
  • LaunchScreen, made it work on small screens (scrollbars) and made it keyboard navigable
  • BatchAdmin, included an option to remove the directory part of the modules
  • Scripting, add new function GetFormsAPIMasterBuild return number

3.00.0429 - Released on 11-Nov-2013
  • PowerSearch, property-search wasn't enabled in "RELEASE" mode

3.00.0428 - Released on 05-Nov-2013 Read News
  • This is the new V3.0 verison, a complete rewrite!

2.00.0418 - Released on 28-Nov-2011
  • fixed a problem in generic_subclass using temporary filename (FAPxx.fmb) instead of real filename.
  • TNSAlias list for parameter screens now returns the one from the right oracle-home.
  • TNS_ADMIN is now handled correctly for connecting

2.00.0416 - Released on 28-Oct-2010
  • powersearch, open multiline /*...*/ comments in the searchresult messed up pl/sql highlighting
  • DevCompare/DevReport, Forms11g item types showed wrong icon
  • fixed Forms11g problem with saving (and in some cases loading) of PLL library modules
  • scripts are now saved in unicode to allow script-comments with unicode characters
  • function CommentOutPLSQL() was not commenting out
  • function GetNextWord() was returning the same word instead of the next one.
  • new procedure TPLSQLParser.CommentOutPLSQLLineOfToken(idx : integer);
  • new procedure TPLSQLParser.CommentOutRange(iFrom : integer; iTo : integer);

2.00.0415 - Released on 16-Mar-2010
  • ReportsAPI, fixed X/Y/Width/Height property changes
  • Fixed itemtype constants in Forms11g API
  • function FileOpen() wasn't returning a file handle.

2.00.0414 - Released on 18-Feb-2010
  • DevCompare, fixed exception when closing the application with a DevCompare window still open

2.00.0413 - Released on 30-Jan-2010
  • DevCompare, fixed "out-of-bound-index" exception bug happening with some modules

2.00.0412 - Released on 18-Dec-2009
  • DevCompare, removed hardcoded limit of 2,000 sub-objects for each object (block->blockitems)

2.00.0411 - Released on 03-Dec-2009
  • Last script engine update removed the CreateOLEObject function, added that one again.
  • DevCompare, fixed access violation when watching "new objects" properties.

2.00.0410 - Released on 30-Nov-2009
  • All the strings after the search-term location were truncated at 64kbit.
  • Changed API detection algorithm, 60/6i, 9i/10g aswell as 10gR2/11g API's can now be selected correctly
  • DevCompare, fixed access violation on closing the application when there are still diff-windows open
  • script engine, fixed exception propagation (raising exception inside an exception handler failed)
  • Couple of improvements dealing with WindowState not working too well with maximized windows.
  • DevCompare, improved the "Change-of-Position" detection algorithm.
  • DevCompare, display of Program-Units is now sorted
  • DevCompare, fixed item-type icons for Forms11g
  • Read-Only attribute on pll-files caused Forms converter to fail and files to remain in temp-dir
  • Fixed Forms11g library compilation (was using old STRIP_SOURCE=YES parameter)
  • HTML-Location settings failed when trailing slash was missing
  • DevCompare, save of reports compares was using wrong property names (only for *.txt files)
  • DevCompare with text-files didn't show filenames in the diff-window
  • added new function "procedure Generic_UnSubClass(genobj : number);" ... works with Forms11g and later
  • Fixed AdvancedProperty search bug in powersearch
  • Fixed Forms 6.0 bug - Check for property default value changed subclass-properties in DevCompare

2.00.0409 - Released on 14-Jul-2009
  • Added Forms11g support
  • Added Reports11g support
  • Updated oracle library to support Oracle 11g client (Forms11g uses 11g client)
  • DevCompare ignored comparing char/byte length semantic in Forms10gR2
  • script execution sometimes didn't close the application
  • script execution sometimes didn't start (unless window got focused)
  • PowerSearch now reports the whole line when "0-lines before/after" is set.

2.00.0408 - Released on 25-Mar-2009
  • DevCompare in edit mode didn't save changes done in the combolist-editor (for enumerated properties)
  • DevCompare was wrongfully inheriting properties in the test to determine if a property is overridden/inherited/default
  • Had one last shot at trying to improve PLL load errors
  • Fixed memory-leak in script engine on string concatenation (s:=s+','+'xxx')
  • when running script from command line the default filename for the log was empty (saved as ".log")

2.00.0407 - Released on 09-Feb-2009
  • fixed REP-0024 error for Reports 6.0
  • fixed Forms Canvas object not being reported in the Developer Report utility
  • implemented workaround for subclassing property class to an object (no applies it as an property class and not as an object)

2.00.0406 - Released on 02-Sep-2008
  • ReportsAPI enabled the FORMAT_MASK property to be writable
  • Another fix to loading PLL Libraries in case the have missing library attachments
  • TPLSQLParser.LineOfToken raised 'Index out of range' expection on lines not ending with linefeed
  • Check for read-only file attribute before saving Oracle Reports files
  • fixed "Memory Access Violations" in DevCompare when merging objects
  • latest script engine in build 402 broke "()"/"[]" access for array properties, feature is now implemented again

2.00.0405 - Released on 16-Jul-2008
  • Fixed Reports problem of Fields/Boilerplates having wrong/missing style information (font/color/etc)

2.00.0404 - Released on 30-Jun-2008
  • Removed trial limitation to save merged modules from DevCompare
  • script engine enhancements (faster and more stable)
  • fixed Reports problem with "REP-0024:Property with name <*> not found!" in reports with group-filter triggers
  • new script function "CountOfString(s:varchar2; substr:varchar2):number;"
  • new script function "function GetIdentifierParamType(idx: integer; Par: integer; ParName: widestring): TPLSQLTokenType;" for TPLSQLParser

2.00.0403 - Released on 10-Jun-2008
  • Support for Korean KO16KSC5601 character encoding fixed
  • increased stability of Text<>Binary conversion of Forms modules
  • implemented the RepGeneric_GetConstantName function
  • fixed reading/writing of D2RP_TEXT property in Reports Boilerplates (text sections)
  • PowerSearch aborted search (silently) when a file in the list of files to search did not exist anymore
  • added object-path to DiffCompare/Property window

2.00.0402 - Released on 29-Dec-2007
  • Script engine fix for "Set Operations"
  • Script engine fix for assigning a functions return value to a variable which is also used as input parameter
  • Script engine enhancement for call-order of unit functions depending on USES clause
  • Another script engine fix for improved default parameter expression parsing
  • couple of fixes to the search-box (unique MRU list, etc)
  • PowerSearch in SQL files(sql/pkb/pkd/fnc/prc) did ignore the PL/SQL Comments option.
  • PowerSearch replace in record-group queries wasn't working when not connected (tried to reparse column information)

2.00.0401 - Released on 29-Nov-2007
  • script engine fix for using "Default parameters" in procedures/functions

2.00.0400 - Released on 25-Nov-2007
  • ctrim/rtrim/ltrim functions now work with a string of trim characters
  • Script engine fix: default parameters was not working inside "UNITS"
  • license check in FormsAPI Master COM/COM+ API was broken
  • Script engine fix: passing string-by-index to function expecting char was broken
  • another stability enhancement for script structure (still occasionally raised exceptions after last fix)
  • PreviousEOS/PreviousSOL text-parsing function returned position one character off.

2.00.0399 - Released on 09-Nov-2007
  • Main window is now showing the Forms API version in the title
  • ObjectLib_FindObjByName function now also supports finding library-tabs, not just objects within them.
  • Script engine fix: boolean evaluation fixed and improved with full conditional evaluation support
  • Script engine fix: lots of varchar/widechar/string typecasting problems resolved
  • Script engine fix: exception handling causing "listindex out of bound" in some cases
  • Script engine fix: passing around indexed properties of objects sometimes caused wrong return values
  • Script engine fix: handling of multi-indexed properties (like TMemStore.Cells property) works now
  • exception handling is now logging user-defined exception class names properly
  • introduced support for "class" types in script structure view
  • enhanced stability of script structure (occasionally raised exceptions)
  • added new setting option to override code snippets/quickcodes file location
  • Implemented workaround for API_ConvertFile doesn't free memory,#4785
  • dropped support for dates in the to_char function because sometimes numbers got returned as date-strings
  • new command line parameter "/SHOWSCRIPTLOG" to show current script execution log

2.00.0398 - Released on 18-Oct-2007
  • FormsColorAPI was using API_ConvertFile that caused memory leak (known bug #4785)

2.00.0397 - Released on 19-Sep-2007
  • DevCompare was causing problems with inherited objects, making them unloadable after saving.
  • Scriptengine, the "for...downto" loop command was not parsing expressions for upper/lower bound
  • Scriptengine, "IN..SET" operations were not working properly
  • Scriptengine, VarType function wasn't working

2.00.0396 - Released on 07-Aug-2007
  • DevCompare has now a read-only mode (disabled editing/merging) under Tools/Settings/DevCompare
  • DiffEditor had some problems with displaying correct text-diff results in certain combinations
  • DevCompare failed with access violation on empty boilerplate text items
  • fixed, Legacy Forms50 API support was broken
  • fixed, Legacy Forms60 API did not allow subclassing object

2.00.0395 - Released on 30-Jul-2007
  • DevCompare/Report did not compare/report Property Class Properties
  • resolved issue of running scripts in two (or more) separate instances of FormsAPI Master at the same time
  • Fixed another 3 bugs in script engine exception handling. TRY..EXCEPT now allows extended error handling like documented
  • Enhanced raising user defined exceptions, can now supply an error code in RaiseException/GetErrorCode
  • Fixed another bug in TMemStore LoadAsCSV truncating the lead 2 characters
  • TMemStore.Cells propery returned wrong cell-value, added workaround CellsByName if you need to use column name as column index.

2.00.0394 - Released on 13-Jul-2007
  • TMemStore SaveAsCSV/LoadAsCSV functions were not working correctly

2.00.0393 - Released on 09-Jul-2007
  • scripting engine can now be extended with plug-ins
  • PVCS API in scripts is now working again in V2.0 (converted it to a plug-in)
  • fixed exception handling for raising user defined exceptions

2.00.0392 - Released on 22-Jun-2007
  • Scripting engine, Compile time speedup by a factor x3
  • Advanced PowerSearch searches on boolean didn't work (true=false)
  • Scripting now supports arrays initialization with constants "CONST C_TEST : array[1..4] of integer = ( 1,2,3,4 )"

2.00.0391 - Released on 23-May-2007
  • added new AddKeyword, AddOperator, AddDatatype methods to TPLSQLParser class.
  • added "$" and "#" characters to list of valid identifiers characters in the TPLSQLParser class
  • DevCompare, fixed "missing d2fp_mnu_param constant" exception
  • Added new script function GetDirList

2.00.0390 - Released on 16-Apr-2007
  • DevCompare security confirmation for saving files with missing attached libraries works opposite (yes<=>no)
  • DiffWindow/PropertyViewer now remembers window sizes

2.00.0389 - Released on 22-Mar-2007
  • Scriptengine fix, accessing characters in a string by index
  • Scriptengine fix, passing dynamic arrays as parameters was broken
  • Scriptengine fix, PCHAR data type was broken
  • Scriptengine fix, pointing to characters in a string should have been type compatible with PCHAR
  • new functions to deal with DLL libraries (LoadLibrary,FreeLibrary,GetProcAddress)

2.00.0388 - Released on 16-Mar-2007
  • DevCompare was erroring with oracle forms menu modules
  • fixed some Unicode problems with Item_GetListElement/Item_SetListElement/MenuItem_AddRole/MenuItem_GetRole
  • IgnoreCase option wasn't handled properly in DevCompare

2.00.0387 - Released on 08-Mar-2007
  • fixed script engine bug with passing parameters of type "VARIANT".
  • fixed script engine bug with multidimensional arrays.
  • fixed script engine bug with calling "TYPE" functions.
  • PowerSearch neglected the "Ignore Comments/Strings" option in text files
  • fixed problem with multiple units in "USES" compilation.
  • fixed problem in Blendout_PLSQL_Comment function with open strings over multiple lines
  • fixed problem with open strings over multiple lines in PowerSearch when "Ignore Comments" was selected.
  • treat as binary was not working in PowerSearch
  • fixed problem with Script Structure and '(' and ')' strings.

2.00.0386 - Released on 22-Feb-2007
  • Improved resource management to lessen the EOutOfResources exception
  • fix endless loop in Replace_PLSQL_WORD on replace with string that contains searchstring
  • fixed exception propagation from within threaded calls (like for example API_LoadModule)
  • DiffWindow was setting the property in the wrong module when applying changes
  • fixed subclassing problem when module has been loaded from a temporary copy

2.00.0385 - Released on 08-Feb-2007
  • Replace_PLSQL_WORD function was still broken
  • TPLSQLParser interpreted '(*' as multiline comment start (which is ok for PASCAL but not PL/SQL)

2.00.0384 - Released on 04-Feb-2007
  • fixed Find/Replace_PLSQL_WORD functions
  • log file from command line can now be suppressed by using /NOLOG parameter

2.00.0383 - Released on 29-Jan-2007
  • Fixed object library compare bug (tree display causing access violation with library tab objects)
  • fixed TOraSession, should now return Unicode data properly when used with an oracle OCI 8i client (and later)
  • New function UTF8ToWide/WideToUTF8 to convert to/from UTF8.

2.00.0382 - Released on 22-Jan-2007
  • Fixing trial limit bug on saving Forms modules
  • Enabled missing Generic_Create function support for Forms50/52/60
  • Number fields on parameter screens lost values on script re-runs
  • fixing the ResizeScript compilation bug.

2.00.0381 - Released on 17-Jan-2007
  • DevCompare HTML saves didn't align multiline source code properties correctly
  • Printing from DevCompare didn't work in Microsoft IE7
  • DevCompare/Report and the PowerSearch file/directory edits added double-quotes around the filenames
  • fixed command line support for running scripts

2.00.0380 - Released on 15-Jan-2007
  • PowerSearch in directories did not match file extensions with different upper/lower case characters.

2.00.0379 - Released on 04-Jan-2007
  • fixed FormsAPI context thread problems, broke functions like "Font_StringSize" and some others
  • saving DevCompare results didn't work (filename wasn't passed in correctly)

2.00.0378 - Released on 27-Dec-2006
  • added support for the CONST procedure parameter syntax
  • another couple of compile time enhancements
  • improved script editor typing speed
  • fixed bug with nested try..except
  • improved script-structure viewer - now shows more information
  • script-structure viewer now highlights current node depending on editor position
  • added WideLineSeperator (character #$2028) support to the TPLSQLParser class
  • fixed TOraSession for oracle connections was using the default home instead of the Forms home

2.00.0377 - Released on 22-Dec-2006
  • SetLength function for strings was broken
  • some changes to make running FormsAPI Master on a server install smother
  • fixed memory leak with "STRING" data type
  • full support for script defined object classes

2.00.0376 - Released on 11-Dec-2006
  • Removed "Beta" from titles/captions
  • code-sense was broken for classes without a ":"

2.00.0375 - Released on 08-Dec-2006
  • fixed bug with UNITS scripts not compiling correctly
  • "Treat as Binary" option in PowerSearch caused missing search results

2.00.0374 - Released on 04-Dec-2006
  • script syntax now allows "()" and "[]" to access array properties
  • couple of speed enhancements for script compilation
  • fixed missing comment open tag "{" when alone on a single line in the script editor
  • fixed normalize_cflf function - using normal CR(#13) and LF(#10) character instead of WideLineSeperator(#8232)
  • Increased the maximum stacksize to fix the EStackOverflow exception in DevCompare
  • fixed missing return value from the TRegExpr.Match property
  • added another couple of functions to the TPLSQLParser class (load/save/FindEx regular search expressions)
  • new functions NormalizeTabs, BlockIndent, BlockUnindent
  • fixed LogAdd function, not anymore ignoring spacing of the first line and handling tabs correctly

2.00.0373 - Released on 29-Nov-2006
  • fixed DevCompare exception when opening the Diff-Window
  • fixed bug introduced with 372 that breaks function declarations
  • GetPreviousWord function returned wrong position for next search

2.00.0372 - Released on 28-Nov-2006
  • fixed sl.strings[1] := sl.strings[2] bug when assigning indexed properties directly
  • fixed PropExplorer/DevCompare pop-under message dialogs (on library/reference module missing)

2.00.0371 - Released on 23-Nov-2006
  • added new TPLSQLParser class (to easy parse and manipulate PL/SQL Code)
  • fixed search dialogs in editors - regular search engine used made searches containing unescaped characters like "(.[" tricky.
  • implemented the color-settings page to configure the highlighter for scripts
  • fix access violation with opening script from second instance
  • fixed another couple of records in arrays bugs.
  • add autocomplete for d2fp/d2rro/etc constants
  • check that all screens work with 96/120 DPI (small/large fonts)
  • now showing d2fc/d2rc constants in PropertyExplorer instead of just number values
  • improved structure view further - had problem with "var" parameters parsing
  • Now checking for code after the last "end" of the main program begin..end block and display an error if anything found!
  • translated some more of the file routines to be able to use Unicode in filenames
  • RemoveDirectory has another optional parameter to be able to delete directories with files

2.00.0370 - Released on 17-Nov-2006
  • fixed rtrim/ltrim/ctrim functions not returning anything
  • fixed the "like" function, no more access violations.
  • when focus was on the page control search/replace didn't work
  • removed double quotes in file/path names on parameter screen (happened when they have spaces in the path/file)
  • integer values on parameter screens did set the wrong min/maximum value
  • LogAdd function was trimming left side of messages which made intention of text somewhat a problem, fixed that
  • added "LongInt" and "real" datatype.. it's the same as "Number/Integer" and "Float"
  • fixed internal AdjustLineBreak routine, affected LogAdd calls with "OutOfMemory" error and unexpected script termination
  • fixed bug with default parameters not working with varchar2 data types
  • fixed bug with "continue" function
  • fixed memory overwriting bug with arrays
  • fixed bug with variant comparison
  • implemented old style "USES" unit syntax
  • improved script structure tree view for UNITS
  • fixed bug with varchar2 by index accessing (caused by Ansi/Unicode mixing problem)
  • fixed bug with "program" keyword causing "Internal Error" on compiling in certain combinations
  • added all missing example scripts and checked that they all compile and run

2.00.0369 - Released on 15-Nov-2006
  • Added "Assigned" function
  • bug with exception handling scope inside scripts fixed
  • made some improvements to the find function, can now search up and down (F3 and Shift+F3)
  • Bugs with the "WITH..DO" construct in the script engine fixed
  • implemented old style "forward" declaration of functions, no need to repeat parameters on implementation
  • fixed problem with pl/sql style variable declaration without the ":"
  • the "find" function is now implemented in practical all "editor" windows (Script editor/Difference viewer/PowerSearch/etc)
  • the find function understands wildcard searches (with the usual "*" and "?" placeholders)
  • implemented "Replace" functionality from the toolbar/menu

2.00.0368 - Released on 14-Nov-2006
  • fixed "List Index out of bound" exception on code completion
  • code completion now also works for class names, not only variables of classes
  • Added XMLNode functions to XMLParser tree
  • added "free/classname/classtype/inheritsfrom/classparent" to all objects and help file
  • added the "||" string concatenation feature to the script engine
  • GetError function has now an optional parameter to specify how much detail you want in your error message

2.00.0367 - Released on 13-Nov-2006
  • included a bunch of configuration settings for the editors
  • fixed Property_GetConstValue returning wrong values
  • fixed double quote compile problem
  • rpad/deletechar problem is now fixed, char gets automatically converted to widechar if needed.
  • Added Move, IndexOfObject,CaseSensitive, LoadFromfile, SaveToFile to TStringlist
  • fixed header definition of Random function to old V1.0 definition
  • missing StrToInt, FormatDateTime,UpperCase,LowerCase functions added
  • Fixed exception that gets raised when exiting/closing a script window while it's running
  • empty multiline comments now compile correctly
  • fixed if..then compile problem with single line statements
  • fixed compile problem with recursive functions
  • add tree entry for every enumeration
  • fixed bug in using enumerations inside records
  • fixed problem with passing records as parameters to procedures/functions
  • fixed variable scope problem, global variables are now not anymore accesible from standalone procedures/function
  • fixed script structure tree problem not parsing CASE..END correctly
  • Click in script structure tree now centers the line
  • copy to clipboard from Script Functions tree and from ErroPanel implemented
  • Script-editor window display state is now saved/restored for every new window

2.00.0366 - Released on 10-Nov-2006
  • Replaced V1.0 help file with the latest V2.0 one
  • FormsAPI Master COM/COM+ object updated to use the new V2.0 API.
  • fixed IntToStr function
  • enabled drag'n drop from script functions and code snippet trees
  • linked script functions tree to the help file
  • fixed Ord / Pred functions not useable in subroutines problem
  • fixed Screen DPI Font problem in the Settings dialog for user running in normal 96 DPI font size
  • fixed compiler bug with string comparison (=,<>,>,<)
  • fixed compiler bug with string+char concatenation
  • fixed compiler bug with using properties directly of returned objects ( ps.parambyname('MyString').isnewgroup := true; didn't work)
  • RPad/LPad/etc functions (any function with default value for a widechar parameter) have been fixed with a temporary workaround

2.00.0365 - Released on 09-Nov-2006
  • ReportsAPI now supports jsp/xml reports files
  • new TInifile class to handle Windows INI files for storing settings
  • new TStringBuilder class to concatenate large strings in the fastest way
  • new TXMLParser class to handle reading/writing XML files
  • new TMemStore class to store and manipulate data in grid arrays
  • Change to open scripts in the same instance
  • DevReport now also reports property inheritance
  • Fixed script suspend/resume/terminate buttons now work without access violations
  • Enabled printing from property-show windows
  • OLB support for PropertyExplorer
  • Properties are now sorted by name in DevCompare, DevReport, Property Set Manager,#2037
  • PropertyExplorer added coord info object
  • DevReport remove of objects with no reported properties
  • DevReport enable remove of inherited/default props
  • Scripts are not anymore limited to 200kb, #3569
  • Added list elements to PropertyExplorer
  • changed AddParam to a function returning a TParamField
  • ":" is now fully optional in variable declaration
  • new InitCap function, to uppercase initial characters in strings (like for example in names)
  • new CurrentYear function
  • new AbsFloat function
  • new date/time functions are now CurrentDate/CurrentTime
  • new date/time is now a data type
  • changed fileread,filewrite to string only
  • new function blendout_plsql_strings(s : varchar2) : varchar2;
  • new "declare" keyword added for starting a variable definition block
  • new GetUnquoted function
  • new function AskString(prompt : varchar2; default : varchar2) : varchar2;
  • new function AskPassword(prompt : varchar2; default : varchar2) : varchar2;
  • new function AskMemo(prompt : varchar2; default : varchar2) : varchar2;
  • new function AskNumber(prompt : varchar2; default : number) : number;
  • new function AskFloat(prompt : varchar2; default : float) : float;
  • new function AskDate(prompt : varchar2; default : date) : date;
  • new function AskDirectory(prompt : varchar2; default : varchar2) : varchar2;
  • new function AskFilename(prompt : varchar2; default : varchar2; filetypes : varchar2) : varchar2;
  • new function AskSaveFilename(prompt : varchar2; default : varchar2; filetypes : varchar2) : varchar2;
  • DevCompare - fixed bug with whitespace causing out of memory errors
  • new GetCurrentWord function;
  • new DeveloperCompare options
  • fixed file locking of license file can loose license key
  • fixed ReportsAPI time parsing is 1-24 instead of 0-23 for hours/minutes/seconds
  • DevCompare edit/merge support for Oracle Reports (stage-1)
  • DevCompare keyboard navigable tree
  • Get_PLSQL_Param function failed when not called with a parameter
  • change of trial limit, make version depended 30days per build
  • change of trial limit, allow a weekly less limited license for tests

1.00.0299 - Released on 19-Jul-2006
  • ReportsAPI - fix invalid linked Hyperlinks

1.00.0298 - Released on 04-Jul-2006
  • enabled tab key in editor
  • fixed printing from editor (now uses the right font)

1.00.0297 - Released on 06-Mar-2006
  • fix trial mode problem with Forms10gR2 (#18 : Type Mismatch on saving forms)

1.00.0296 - Released on 29-Jan-2006
  • fix RecGroup_InsertRow 0-pointer exception

1.00.0295 - Released on 17-Dec-2005
  • changed loading of plls, try to open first without pld conversion
  • fixed pll loading with attached libraries (pll-pld conversion uses reports, needed to set reports_path=forms_path)
  • fixed access violation on maximized main window calling diff window
  • fixed generic_setTextProp, not anymore removing trailing spaces.
  • improved win2unix script to ignore calls to OPEN_FORM/etc in comments

1.00.0294 - Released on 06-Dec-2005
  • added better compare algorithm for DevCompare
  • fixed "Out of memory" error when loading modules
  • fixed "access violation" error that happened sometimes on exiting

1.00.0293 - Released on 11-Nov-2005
  • added DefaultWidth property to parameter screen

1.00.0292 - Released on 07-Nov-2005 Read News
  • Developer Suite 10g R2 (10.1.2.x) support added
  • Menus in profiles had a couple of properties missing (startup code, main menu, Share library, etc)

1.00.0291 - Released on 02-Nov-2005
  • added "Function PLSQL_TO_HTML(s : varchar2) : varchar2;" to the script engine
  • fixed bug in ReportsAPI, not linking Groups/Group columns to the data model
  • fixed bug in ReportsAPI, failing with error message on invalid COMMENT object references

1.00.0290 - Released on 23-Oct-2005
  • fixed generation/compilation of PL/SQL Libraries
  • published EOraError exception definition to script engine, allowing oracle error handling in scripts
  • added VarType constants to script engine for better "variant" data type handling
  • fixed ParameterForm re-showing after pause/resume a script.

1.00.0289 - Released on 11-Oct-2005
  • improved loading of pl/sql libraries, less unexplainable "#1-Operation Failed!" errors

1.00.0288 - Released on 10-Oct-2005
  • DevCompare file select dialog, make it work when only directory entered.
  • Property view window enable saving of property text (to text and html)
  • DiffShow window enabled saving of left and right compare editor (to text and html)
  • DiffShow make color scheme editable
  • DiffShow fixed graphical glitch on horizontal scrolling
  • DevCompare option to disable chevrons/dotted lines
  • PowerSearch property, fixed "defer required enforce" property for in property search
  • DiffShow window reports wrong property name for reports
  • DevCompare/DevReport/PropertySet manager added the data type property for user parameters
  • added new OCI library for better support of Oracle 10g and fixing of connection related bugs
  • devcompare fixed disappearing compare window, now displays proper error message
  • fix in ReportsAPI, fixed RepAPI_GetAllObjects function to return all sub objects of given object
  • fix in ReportsAPI, program units were not linked to the main owning objects (format triggers, placeholder program units, etc)
  • api_generatemodule didn't check for errors

1.00.0287 - Released on 09-Jun-2005
  • added possibility to execute encrypted scripts - see download page for script encrypter
  • DevCompare, critical bug deleting inherited changed object-properties in subclassed objects fixed
  • DevCompare, disable editing of certain properties that should never be edited
  • DevCompare now warns on saving when module got loaded with missing libraries
  • improved memory usage for long running scripts loading many forms modules
  • added functionality for subclassing objects to Forms50/60 api
  • new scripts don't need to be saved anymore before running them

1.00.0286 - Released on 23-May-2005
  • DevCompare/DevReport/PropExplorer not asking for load anyway when missing refs from command line
  • removed misleading reporting and compare of object-typ-properties in devcompare
  • added reporting of roles in menus/menuitems to DevReport
  • API_GenerateModule now has the "compileall" options
  • New API_GenerateModuleLog/RepAPI_GenerateModuleLog functions to return compile log.
  • RepAPI_GenerateModule function now supports compilation of PLL.
  • DevCompare added new option in the Diff Editor to group changes/inserts together
  • Diff Editor now remembers the show linenumbers/specialchars settings for next time

1.00.0285 - Released on 09-May-2005
  • DevCompare/DevReport raised error when comparing Menu-Modules under Forms9i and 10g
  • Fixed error in ReportsAPI for large Reports (value not found in linklist)
  • disabled editable Coord-System properties in DevCompare

1.00.0284 - Released on 06-Apr-2005
  • New TOracleFormsColorAPI object, for manipulating and extracting color informations from Forms files
  • RepAPI_Version function implemented
  • copy/move-file and RemoveDirectory functions now raise exception on errors
  • deletefile procedure changed to a function, returning if the delete was successful or not
  • command line support for Explorer/Compare/Report added
  • fixed the "out of memory error" that happened with certain reports,#6521
  • fixed TNSNames parsing for database aliases in DevCompare DB Selector / Parameterscreens
  • DevCompare DB Selector did not set the Oracle Home to the FormsAPI location
  • DevCompare, fixed closing changed modules, hitting "cancel" didn't cancel the second
  • DevCompare, fixed bug in text compare with changes at the end of text
  • fix bug in Diff Editor, writing back changes always set change flag
  • chevron-button in diff editor better visible when over text
  • enabled Undo/Redo when using chevron-button to merge changes in DiffShow
  • disabled apply/cancel buttons for reports in Diff Editor
  • diff editor has now a button for enabled/disable whitespace check during compare
  • diff editor whitespace check now uses simple PLSQL grammar rules for checking whitespaces
  • main window now retains last window position and size settings on next start
  • PropertyExplorer now supports saving as HTML
  • PropertyExplorer fixed displaying of subclassed objects with inherited/broken changes
  • Developer Compare, saving results as HTML didn't escaped properties with HTML content properly
  • Get Oracle environment var DE_PREFS_TABSIZE for tabs in DiffEditor/PropertyViewer
  • DiffEditor, the right window did replace tabs with spaces
  • DevCompare, new option for enabling/disabling inheritance check
  • DevReport separates property names and value with a tab now - more structured.
  • DevReport do line break before the first line of pl/sql
  • PowerSearch replacement text was not shown anywhere
  • PowerSearch improved display of what exactly is getting replaced in log
  • PowerSearch underlining property name in search result hides any "_" in the name.
  • enhanced general security issue, database passwords got stored unencrypted in registry,#2048
  • fixed low/high/length functions for dynamic and subrange array types
  • fixed RepAPI_GetAllItemObjects function
  • implemented function RepAPI_GetAllBoilerObjects(rep : number) : tstringlist;

1.00.0283 - Released on 08-Mar-2005
  • DeveloperCompare SourceCodeDiff-window can now be edited
  • Expired license keys now show more meaningful message
  • DevCompare didn't compare record group static values, fixed for Forms6i and up,#2584
  • DevCompare, copying recordgroup queries doesn't work,#6523

1.00.0282 - Released on 20-Feb-2005
  • DevCompare result can now be edited/copied (Stage1 - SourceCodeDiff editor comes later!)
  • improvements in the DevCompare html output and print
  • not deleting any user created property sets when uninstalling the app

1.00.0281 - Released on 27-Jan-2005
  • Settings don't get loaded bug fixed

1.00.0280 - Released on 20-Jan-2005
  • All Properties profile cleaned up
  • settings dialog size problem fixed
  • memory manager replaced
  • Final "character mode logical attribute" property bug fix - this property is not available in early Forms6i patches
  • Win32 Error 5 bug fixed that was happening on some few computers
  • file mask in PowerSearch
  • DevCompare file extension enhanced to work with versioning systems that append version suffixes
  • PowerSearch doesn't save anymore the last search parameters into local program directory (fixes user privilege restriction problems)
  • picture path for html save (DevCompare) is now a configurable parameter under settings
  • "character mode logical att" property added to property sets for Forms6i
  • disable unsupported d2fp properties depending on selected Forms Version API.
  • comparing forms with more than 600 items in it caused an error
  • PropertySearch fixed to ignore treating Forms modules as binary

1.00.0279 - Released on 11-Jan-2005
  • Oracle Home check was limited to the first ten homes only, increased to 20

1.00.0278 - Released on 01-Jan-2005
  • included latest OCI library for Oracle10g support
  • set proper Oracle Home when connecting inside scripts

1.00.0277 - Released on 05-Nov-2004
  • fixed /API= switch in DevCompare when called from command line
  • fixed No-Admin rights access violation when in trial mode
  • specifying path for picking up right dll's when creating API context

1.00.0276 - Released on 21-Sep-2004
  • enabled printing from DevCompareDiff window
  • COM/COM+ object properly re-inits constants when changing version

1.00.0275 - Released on 04-Jun-2004
  • First version of the COM/COM+ OLE Automation API included
  • GetFirstWord returned wrong result when spaces before the word
  • GetPLSQL_Parameter function was based on buggy GetFirstWord function
  • DeveloperCompare threw exceptions in some rare combinations, fixed

1.00.0274 - Released on 26-May-2004
  • DevCompare can now handle *.olb Object Library Modules - Requires Forms6i and up.

1.00.0273 - Released on 25-May-2004
  • check to see if recompile is necessary has been improved to work with UNITS.
  • new function SendMail
  • new function CRC32
  • new function Get_PLSQL_ParamCallType
  • new function Find_PLSQL_Word
  • property LeftStart of tParameterScreen implemented
  • GetPLSQL_Parameter function fixed for returning only values for named parameters
  • reading/writing of D2FP_PGU_TXT property in libraries implemented.
  • RepAPI_GenerateModule didn't passed through the Oracle Connection for compile.
  • DevCompare now has a button to refresh file compares
  • DevCompare for files now allow different file extensions.

1.00.0272 - Released on 07-May-2004
  • Forms10g support
  • Reports10g support
  • improved error reporting when no valid api can be found.
  • PowerSearch directory selection used fileselect dialog.
  • fixed GetNextWord function to also report the last word
  • new function get_plsql_paramcount - parses the number of parameters for a procedure call
  • disabled confusing/useless DevCompare check for position change in trigger/program units.
  • f7/f8 in the DevCompare difference window now center jumps
  • Added Line_Pattern properties for report fields objects.
  • fixed reports d2rp_esc_?? pointing to wrong properties.

1.00.0271 - Released on 26-Mar-2004
  • fixed DevCompare script function not allowing saving results
  • DevCompare can now save single code compare results.
  • enabled ReportsAPI to allows setting field-source objects.

1.00.0270 - Released on 15-Jan-2004
  • DevCompare can now be started through Command Line
  • oraclehome/path will now be set on startup, fixes issue with wrong default homes set.
  • using new oracle library for database connect
  • Bugfix, zero length strings now get properly written through the API
  • After setting width/height/x/y properties in reports is now reflected in preview.

1.00.0269 - Released on 12-Jan-2004
  • Fix Memory Access Exception in PowerSearch;

1.00.0268 - Released on 12-Jan-2004
  • New script procedure HTMLPrint(url : varchar2);
  • New script procedure HTMLPrintPreview(url : varchar2);

1.00.0267 - Released on 31-Dec-2003
  • Printing is now supported out of DeveloperCompare (Requires MS IE 5.5 and up).
  • DeveloperCompare results can be saved to nicely formatted HTML files.

1.00.0266 - Released on 29-Dec-2003
  • Property Search improved - now shows which property is forms/report.
  • Property Search fixed - Oracle Reports are now searched correctly.
  • fixed RepAPI_GetAllObject function - speed improvement when requesting all objects.
  • Write enabled a couple of more Oracle Reports properties for positions/widths/fonts.

1.00.0265 - Released on 14-Dec-2003
  • Property Search handles now 0-length search texts properly.
  • DevCompare matches subclassed objects to unsubclassed ones properly now.

1.00.0264 - Released on 06-Dec-2003
  • fixed bug with property #27 error in compare tool for Forms9i.
  • new function PLSQL_Replace (var src : string; srcprocname : string; destprocname : string) : integer;
  • new function FileQuickSearch(filename: string; SearchString : string) : boolean;
  • fixed RepAPI_GetAllObject function - was returning all report objects instead from input object.
  • compare now shows correct icons for items/canvas depending on the type

1.00.0263 - Released on 30-Nov-2003
  • PowerSearch advanced prop search finally implemented
  • fixed binary compiled scripts dependency on versions.
  • avoid the shutdown where there are any compare/report windows open during command line use
  • add the D2RP_TYP_xxx constants to the scripting engine!

1.00.0262 - Released on 15-Oct-2003
  • DevReport is now accessible from with the scripting environment using API_DeveloperReport function
  • fixed fatal exception when starting DevReport from command line
  • Helpfile corrected (TStringList, TField, and TParam had wrong properties/function references)

1.00.0261 - Released on 13-Oct-2003
  • cosmetic fixes to make display work properly with big/small fonts on XP/W2k
  • New functions Set/Get_FormsPath
  • DevCompare is now accessible from with the scripting environment using API_DeveloperCompare function
  • Oracle Reports loading doesn't override REX files anymore
  • improved handling of license keys in Network installations