PROGRESS Decompiler History =========================== 2025.4 - [09.04.2025] Decompiler: Added new expressions: 1 (V11,V12) Better ON processing (MENU ..) Fixed external Function Id (V9,V11,V12) Fixed crash ON processing (V9,V10) Fixed offset on strings when decompiling only text Added ReadObj (ALL NO-PAUSE, MESSAGE NO-PAUSE) Fixed crash on "Decomile all files" when not real .r is processed Fixed crash when processing segment was not selected Updated CLEAR processing Updated FrameLink processing Unified Parameters definition from head and functions/procedures Application: Rewriten do .NET 9.0 Rewrited file reading (removed old BitConverter component) Faster collections processing Code optimization and refactoring GUI: Added dark theme (default) Changed icons + some control design to better support dark theme Added highlighting parameters on main screen if they have differences (head vs function) Added folding for FUNCTION and PROCEDURE Fixed highlighting procedure/function names if contains dot Changed TreeView folders display (now you can see what folders contain subfolders imediatelly) Unified font color in all components Better search on main screen Added LED indicator on main screen if first rcode parsing encounter some error Replaced old InputBox with my own (old one has problems) Removed old File mapper tool HexViewer: Rewriten to .NET 9.0 HexViewer: Redesigned painter + added 2 new colors HexViewer: Added Save/Open Painted colors and Export to RichText functionality HexViewer: Rewriten some internal functionality, refactoring + fixed some bugs HexViewer: Fixed broken search HexViewer: Optimized for dark theme Syntax highlighting component: Rewriten to .NET 9.0 2024.1 - [01.01.2024] Don't show CRC warnings for converted database files (output from Df2Dbf) Added new statements: 1 (V11) Updated statements: 2 (V12) Added new expressions: 2 (V11,V12) Updated expressions: 1 (V12) Added support for Publish(), Subscribe(), Unsubscribe() For class element references show also type references Added support for class variable types recovery Added class function types (METHOD, PROPERTY to output) Added Prototype Declarations to main output Fixed broken support for V6 Fixed bad global variable parsing (V6) Updated PROGRESS Decompiler Addon - Df2Dbf v2.22 (fixed index CRC, bad index fields when exists description) Updated PROGRESS Decompiler Addon - SigMaker v2.00 (rewritten to .NET) Load some internal static databases once on the beginning (not for each rcode) Expression databases revisited and rebuilded Better variable type check (support for class types) Less debug detail on the GUI Update on GUI function details after first decompile Better Flags processing Better directory sorting Expression processing rewritten (V10) Header info processing logic changed Better Header info assigning (same names) Beautify some function parameters (ExternFun, ProcPrototype) Big recoding for V6 (also some structures added..) Lot of small fixes + heavy heavy code refactoring Hex colors tweaked based on normal/dark theme and fore/back color type (much better for eyes) Upon the first viewing, if any errors are detected, jump to them 2022.9 (4.70) - [02.09.2022] Finally added better WHERE processing (still little unstable but results are great) Added table label description (V12, V11, V10, V9) Added EXTENT info to some field cases Added recovering INITIAL, COLUMN-LABEL and HELP property of the TEMP-TABLE fields (v10, v11, v12) Added recovering table names for OPEN QUERY Updated V12 attributes to PROGRESS v12.4 Added new expressions: 1 (V11/V12), 2 (V10), 9 (V10_64),1 (V9) Use simple class type name in recovered output (without dll, version, token) Not all cases! Better class attributes processing (V11, V12) Header now contains real source compile path if available Recovered file name now contains also real source extension Removed "dataserver schema" info (duplicity information), joined to table information Recovery real field names in some special cases just from rcode (v12) Added internal INDEX processing Added INPUT FRAME recovery Show hidden local variables in debug mode Added more output information in debug mode Variable additional notes are now displayed only in initial information files (not in base source files) Updated PROGRESS Decompiler Addon - DB Dump utility (CRLF -> LF output) Updated PROGRESS Decompiler Addon - Df2Dbf v2.20 (default LF output, support drag & drop files) Colorize some blocks with same color for higher readability Heavy refactoring on PROGRESS Decompiler source code (naming convention) Close database files (dumps) after read Try log multiline message as one long line message Expression databases joined to one file Added better comments to Expression databases (also missing opcodes) Updated HexViewer to v1.31 (small fixes, dark theme tweaks) Fixed time in file browser (create time was used) Added new settings - "Add decompiler header to output", "Save only one main source" Removed setting - "Local date of compilation (GMT/UTC)" Application is now DPI-aware and will not be automatically scaled by Windows at higher DPIs Fixed Indent setting (was fixed 4) Fixed search behavior Brackets color is now more contrasting Started release with Calendar Versioning (4.70 -> 2022.9) Added new type message type to logs (WARNING) + new highlighting of system messages 4.60 - [17.04.2021] Updated HexViewer to v1.30 Updated component for syntax highlighting Fixed text segment output if option Show Object Offset is On Added some debug info: buffer flags description Fixed Procedure header V7 Show file name list without .r extension Fixed false warning by checking variable names (case sensitive comparing, tables are uppercased in PD) Fixed crash when memptr variable was already added in variable pool (I/O) Extend Class C14 type processing Fixed false alarm by checking some class variables in global pool Added data type enumeration Optimized string output building (big speedup on large outputs) Switch syntax highlighting off on output where output size > 0,5 Mb (big speedup on large outputs) Added "interesting keywords" check Better detection Oracle date/time fields in database dumps (avoid false alarm by loading) 4.50 - [18.05.2020] Removed CRLF detection (now can be processed CRLF/LF files, faster load) Added storing "Auto Save" setting on exit Added direct filter for file lgrfeng.chm in options (we support only latest help file now) Optimized loading tables that are missing in dump (just one time for same tables, speed up load in some cases) New setting: DB dump loading warnings (disable various warnings when loading user dumps) Rearrange controls in Options Added some Class type elements (v12) Rewritten new shared variable structure Added Input-Output Table-Handle & Buffer name identification (v9) Rewritten statement flags for better future handling 4.40 - [04.02.2020] Added support for PROGRESS v12 rcodes! (1200) New component for syntax highlighting (increased speed) Class type segment processing was totaly rewritten (better support for future versions) Some source code rewritten to structures based on rcode version (better orientation) Added TAB size setting Added Use syntax highlighting setting Removed "Output to File" setting (was not used anymore) Removed support for old .hlp files (<= PROGRESS v9) Added new debug output - Dump structures (removed old debug menu commands) Fixed CRC file computing for xcoded files (better & faster CRC calculation) File header is now formatted and inside comment Fixed compile time in output header Changed some icons Prepare whole output in memory first and then display it (rapidly increased decompiling speed) HexView "Goto offset" dialog can extract offset from entered line Improved code formatting Better field name conversion (added type to unknown, less unknown messages) Some internal databases rewritten to collections (faster, easy work) Updated PROGRESS Decompiler Addon - DB Dump utility (new index formatting) Updated PROGRESS Decompiler Addon - Df2Dbf v2.12 (rewritten to .NET, added Table & Index dump) Added some debug listing for Head information parsing Updated some internal descriptions in expression database Better expression size identification (v11, v12) Better rcode parsing Fixed MD5 display (was broken in 4.20) Fixed offsets in multiple text segments rcodes Fixed some TTAB processing in Head info Display SIGNATURE-VALUE of rcode (v12) Fixed parsing head info for some Trigger cases (v11, v12) Fixed place identification for functions in MemPtr case Fixed parsing procedures in some special casses (v10 x64) Updated statements: 1 (v9, v10, v11, v12) Added new statements: 1 (v10, v11) Added new expressions: 1 (v10 x64) again heavy refactoring was processed on PROGRESS Decompiler source code and a lot of small fixes! 4.30 - [12.05.2019] Added support for AuthKey Highlighting comments and strings in output Don't write to initial information output "useless" comments Added new expressions: 11 (v10, v11) Added some keyboard codes to internal database Changed in whole project OPCODE name to EXPRESSION Better output from head info (v9, v10) Show head info version Added refresh action on right mouse click on files and directory tree Changed internal database names New application and internal icons Project now use .NET Framework 4.7.1 Added new toolbar with most used actions Added possibility open rcode through open file dialog New debug option "Show objects ID" Some internal databases rewritten to collections (faster, easy work) Add "_Dbg.txt" prefix to files when working in debug mode Fill Global and Input-Output variables in to separate collections Added Input-Output Dataset name identification Heavy refactoring was processed on PROGRESS Decompiler source code a lot of small fixes 4.20 - [17.11.2018] Fixed head parsing for TEMP_TABLE types (V9) Corrected false message processing by DLL calls (UNKNOWN_IO message) Corrected some messages Don't display in local definitions type for TABLE, BUFFER and DATASET variables Fixed some issues with brackets Updated HexViewer to v1.20 Fixed some small bug in head info parsing (V11) Recover top valid directory from last used path that doesn't exist any more Added new version 1101 (just to known, same behaviour as 1100 for now) Updated attributes to PROGRESS v11.7 4.10 - [21.02.2017] Added ODBC link for v8 Added new statements: 1 (v11), 1 (v10), 1 (v9) Updated statements: 1 (v11), 1 (v10), 1 (v9) Fixed false alarm by checking variable names Improved display of variable prefix Some object types added Better bracket processing Some internal databases rewriten to collections (faster, easy work) Fixed bug with displaying include files Updated attributes to PROGRESS v11.6 a lot of improvements 4.00 - [07.10.2015] Added processing of class type segment (in next version maybe some better PROGRESS compatible output) Added CRC file computing for checking if target source was compiled inside investigated rcode Added ODBC link for V9 Source file names from debug segment removed from main screen Better hex dump Fixed some head info parsing (V11) Fixed browsers with no columns Fixed statements: 1 (V9) Updated PROGRESS Decompiler Addon - Df2Dbf v1.13 (fixed COLUMN-LABEL bug, TYPE bug) Added to output head version from head info segment (V11) 3.90 - [10.04.2015] Added Support for V10 64bit Signature databases reformatted Rewritten structures for segment tables HexViewer: very nice new features + bug fixes Added new expressions: 2 (V11), 6 (V10), 3 (V9) Updated expressions: 7 (V11), 7 (V10), 1 (V9) Added new statements: 4 (V11), 5 (V10), 4 (V9) Updated statements: 2 (V11), 5 (V10), 9 (V9) Better dataset name recovering in some cases Recovering EXTENT for some variables Recovering ODBC fields with generic name if no dump is available Improved Expression processing Added LABLES's to blocks ON ERROR, ON STOP, ON ENDKEY, ON QUIT processing Added CATCH processing in blocks a lot of improvements 3.80 - [22.11.2014] Updated PROGRESS Decompiler Addon - Key2Name v1.1 Updated data types Updated parsing for V11 HeadInfo Better recovering Indexes from Temp Tables (V9, V10) Added List of published events Added detections of Triggers Added Class referenced types recovering (V10, V11) Added Class recovering (V10) Better FrameLink processing Better ON processing Buffers, DataSource definition (procedure start) Extent recovering for functions definition Added MemPtr definition Added NEW GLOBAL flag definition Fixed using of DEBUG info Fixed V6 variable duplication A lot of internal code was heavy rewritted (structures etc ...) 3.70 - [29.01.2014] Fixed display Extent info in local variables Added new expressions(1) Updated PROGRESS Decompiler Addon - DB Dump utility 1.5 Added BUFFER recovery Added browse TITLE, column WIDTH recovery Added object TOOLTIP and FONT recovery Code optimization Better debug output for rcode investigation Fixed ODBC link for V10 Fixed statements(3) 3.60 - [08.06.2013] Added support for DataServer Schema Tables (ODBC, MSS) Updated PROGRESS Decompiler Addon - Df2Dbf v1.12 Updated PROGRESS Decompiler Addon - DB Dump utility 1.4 Don't repeat CRC errors in one rcode session Cache R-Code Init information for file session Added new statements(1) (V11) Rewrited whole FrameLink Fixed V8 objects identification Fixed cutted HeadInfo Fixed some bugs in reading V11 expresions Fixed V7 Frame objects details Added identification ON event-list ACTION for Browse columns HexViewer: store last GoTo value HexViewer: If user put empty offset, assign it to 0, not Cancel action 3.50 - [02.03.2013] Updated attributes/objects/system (V11) Added new expressions(7), statements(7) (V11) Added support for Class objects (V11) Better Expressions handling (V11) Remove block numbers from blocks A lot of small fixes Better internal debug output 3.40 - [17.02.2013] Added support for V11 rcodes Big source code refactoring and tidy up Fixed some broken things caused by conversion Better initial info output Updated STREAM definition More detailed initial IO, shared frame info Fixed some expressions(2) Better Date processing Better processing of HeadInfo Improved HexViewer Better Unknown messages Decompile from offset (only 1 expression) Added Help (F1) on selected PROGRESS keyword Fixed bug in V9, V10 expression skip bytes Attributes tidy up 3.30 - [14.10.2012] Rewrited decompiler source to .NET Added new powerfull HexViewer Fixed return first ocuurence of variable in list Fixed in some V6 versions (315) decimal numbers Updated statements (1) Added Base offset in HexViewer 3.20 - [26.04.2012] Added alias definition for DB structures (now can be used one dump for more DBs) Better Text segment processing (fixed rcodes with no text segment) Added statements (1) Updated statements (3) Added expressions (4) Updated expressions (1) Head info line extended to 10kb due some big TEMP-TABLE definition Detection of 64bit rcodes Some code improvements Added batch processing of multiple files Fixed PROGRESS Decompiler Addon Df2Dbf v1.11 3.10 - [19.12.2010] Don't generate empty Head info files Updated attributes/object/system to ver 10.2A Added statements (5) Updated statements (1) Fixed statements (2) Fixed expressions (1) Fixed "not found in procedures list!" message by parsing param info from header Added to output RCode version Better information output from debug segment Fixed bug in debug section for big files (v10) Fixed false warning by processing Head info Fixed 2 bugs in FrameLink10 Better error logging Updated PROGRESS Decompiler Addon DB Dump utility Added list of SOME procedures 3.0 - [13.05.2010] Fixed statements (1) Updated statements (2) Added detection to CR file format of DB dumps Updated PROGRESS Decompiler Addon Df2Dbf v1.10 Updated PROGRESS Decompiler Addon DB Dump utility Added to output Date of compilation Maping file to memmory and then processing Decimal values are formated with . and not , (big decimal are more accurately) Some ? values fixed Added recovering properties for dynamically created objects Recovering Indexes from Temp Tables Fixed find issue (do not store duplicate history) Fixed warning message on disabled "CRC table check" (missing dump data) Rewriten Variable detection Improoved frame detection If are displayed two same objects then second is commented (just additional info) Removed some settings 2.9 - [23.11.2009] Added new statements (2) Updated statements (1) Fixed statements (1) Fixed enabling of menu context Added new powerfull hexeditor aimed for handling and resolving structures Find in procedures + advanced find options in output window Fixed Browser details information Improved structure coloring Added loging of errors and warnings to file Saving positions of main window Added more shortcuts for better work Added some detail to SHARED VAR Fixed bug in TEMP-TABLE info on V7,V8,V9 Updated LOCK detection Rewriten all common dialog routines Add known frame names after processing to GUI Othes small fixes Add parameters information from Header to main window 2.8 - [24.08.2009] Added new expressions (4) Fixed expressions (1) Add new statements (2) Updated statements (3) Fixed statements (1) Updated TEMP-TABLE definition (extent, format, label) Improved HexDump, fixed dump on Header Added Open save dialog default in file directory (not in last used) Fixed unknown messages by WHERE phrases Updated indent engine, UnkMsg Code tidy up Small cosmetic changes in rcode info (header, labels, colors), Report statusbar Added support for v1009 Added support for new objects (4) Fixed (1) Added new type Blob Updated and fixed some internal code Added Possibility Dump/Save segment without known size 2.7 - [21.01.2009] Fixed procedure names in v909 Fixed empty object name (HELP problem) Rewrited I/O parameter recovering Add new statements (4) Fixed statements (2) Updated statements (1) New addon: Convertor DF 2 DBF Updated GetObj Fixed crash on dump with CR line endings Don't load duplicite table definition 2.6 - [31.12.2008] Added Error LED indicator Added rcode size and date info to output Added new type Int64 Fixed save name Added some IO type Added new expression type template to DB (stat) + corrected some sizes Added new expressions (4) Fixed expressions (1) Add new statements (1) Updated statements (4) Fixed statements (2) Fixed last dir initialization Fixed FrameDetails Rewriten GetObj routines to one function (better compatibility) Added statement buffering (+output speed) Fixed Menu identification Added file list position for information Fixed List Index script for V8 2.5 - [21.09.2008] Fixed GetExtern9 Speed up loading table dumps Check Table CRC functionality Add export DB Index data by dump utility Fixed stat (1) Upd stat (2) Fixed storing boolean variables in registry Added new customized output screen, faster output Fixed crash by working on empty project, some auto enable options Added Date Time info to file browser Updated common dialog routines 2.4 - [19.05.2008] Add new stat (3) Updated stat (6) Fixed stat (1) Fixed expr (2) Add support for v9 EXTERN Functions, New color and type Add new object (1) Don't display again missing DB by using option "Use DB Dumps" Fixed IO buffer params BrowseDet V10 Browse column number detection Fixed GetQueryTab In option "Output to file" changed file location to rcode dir Change MousePointer in work mode Fixed clicking on files that doesn't exist anymore Shortcut to copy rcode file name to clipboard 2.3 - [16.03.2008] Add support for v1006, v1007, v1008 Add support for v10 EXTERN Functions Add resizing of main window Add some keyboard navigation shortcuts Add search next with selected text Add new 10.1A methods Add Don't show var on empty functions/procedures Fix GlobalVariable init on V10 Fix WordWrap on all output Fix Save Segment Fix "Def Var" duplicity Fix expr (2) 2.2 - [15.01.2008] Fix loading DB tables on demand Fix ReadValue: ?, COM-HANDLE, Dec Coloring, Date Format Fix Empty atributes Fix 909 Function name listing Add new Settings Screen, store settings values Add current file details in Status bar Add Function name recognition Add selected Function recovering Add new opcode (1) Design of program Changed keyboard shortcut F7 to Ctrl+F for search in output Changed way of displaying Info from Header Changed way of displaying Function in main screen Removed settings from main screen Rem useless file coloring Removed assigning Proc/Fun info from Header Info 2.1 - [03.11.2007] Add decompile debug segment if present Add variable names taken from debug segment Rewritten display variable procedure Get GlobalVar Pool Logic Fix stat (1) Fix RipText Fix I/O, NSV Naming 2.0 - [27.08.2007] Fix Listing Menu Fix FrameLink8 Add new opcode (2) Fix GetES9 Fix stat (2) Add stat (3) Fix v10 more CodePages Display MD5 (only if it's compiled with this option) HighlightWord 1.9 - [17.04.2007] Fix: Better block handling Fix: Source optimized (Outa) Add: New statements 1.8 - [24.02.2007] Add V6 support 1.7 - [04.10.2006] Add stat (4) Add MENU recovering, DB FILL-IN name, METHOD(params) Add new opcodes (4) Add 2 new Var.types Add Last Dir Fix Source optimized (GetTxt) Fix stat (1), FrameLink10 Add stream to options (3) 1.6 - [24.08.2006] Fix FrameLinkBase, Frames Synchro Msg Fix WHERE Fix Num2Field Err. Msg Fix Browse details when not exist Add V8 Sequence Add V8 object details support Add extended opcodes support Add to V10: 22 new Functions, 3 Sys.handles, 3 Var.types Add V7 support Upd stat (2) Add On/Off DB Dump load checking 1.5 - [30.05.2006] Add Browser details Add V10 object details support Add new opcode resolving (1) Add new function resolving (1) Fix frame summary bug (no reset) 1.4 - [08.03.2006] Fix stat (2) Add stat (12) Add WHERE and Automatic ES resolving Add frame linking Fix frame and variable handling 1.3 - [16.02.2006] Add V909 AS resolving Add better handling RCodes Add function decompiling Add object handling Add statements (2) Add V10 AS support Add I/O parameters 1.2 - [20.01.2006] Add decompiling of AS Add V10 ES support 1.1 - [01.12.2005] Output is in more readable form V909, V1005 RCode support 1.0 - [30.03.2004] First Release