This article was brought to you by the guys from VDF-GUIdance.
For more DataFlex targeted articles see http://www.vdf-guidance.com

What's New in TheHammer 2.0


Since the last release of TheHammer v. 1.5.3, we have implemented many new features, fixed a lot of bugs and added cool new tools into this fine Visual Dataflex Source Editor, created by a team of Dataflex Professionals and friends.

General


  • The key feature of this release - was increased stability in numbers. The new revision of the well known Editor for Visual Dataflex has now already become much better as we expected before.
  • Support for VDF8 workspaces has been added. TheHammer is now able to see and work with sources from VDF 4, 5, 6, 7, 8 and 9 workspaces. Compiler now can be setted up depending on a particular VDF workspace revision.
  • Implemented character translation for non-english keyboard input.
  • Fixed a bug in the close all routine (only 5 views were closed at a time)
  • Fixed the behavior of switch_next_view and switch_prior_view so that the CodeMax commands window next and window previous and alt+f6 and ctr+f6 reacts the same. Fixed along with this is the order in which the window is displayed.
  • Fixed the "slot-machine"-style of displaying views when switching between views and closing views
  • TheHammer was unable to open recent files below the first 9 listed if the number of recent files was more than 9 (nine), . Fixed.
  • If program source file including full path more than 80 characters, TheHammer can't work out it correctly. Fixed.
  • If you did not set working directory and have use external DLLs placed under Program path, TheHammer was unable correctly starts the compiled application. Fixed.
  • Resizing issue with Error List (renamed to Message Area) has been fixed.
  • The splitter bar sometimes was lost by TheHammer. Fixed.
  • The rawfile error generated on startup fixed.
  • Flickering during switching between the views reduced dramatically.
  • On opening/closing file and changing of workspace, TheHammer is always became maximized. Fixed.
  • Mark corresponding Block for current Line new feature marks the beginning and end of begin/end, for/loop, repeat/until, procedure/end_procedure, object/end_object ... blocks.

Code Lists


  • If a request to show indexes was instructed and the user's file had the same number as one of the numbers internally used by TheHammer database, The Editor showed the list of indexes for its own file. Fixed.
  • If the same data file name used in a workspace as TheHammer use, fields from own file with same name shown. Fixed.
  • If data file used in expressions, on typing if file name not separated from others by space, TheHammer does not show fields list. Fixed.
  • All code lists, used by TheHammer redesigned to be global (against local to editor view) and to work via controls supplied by CodeSense (new TheHammer editor control) controls for.
  • After opening field list, FD file (used for) remains opened. Fixed.
  • Data file Index list now implemented for commands FIND, FOR_ALL and procedure call SEND FIND TO DATAFILE_DD EQ ...
  • Database field's suggester: display the type and length of the field
  • improved the code list for key's. If key_ctrl/key_alt/key_shift is selected the key is automatically surrounded by ( ) and the suggestion lists stays on screen so that the second key can immediately be selected. Additionally after the key is selected the "send" keyword is automatically added.

Source Code Parser


  • Fixed some a few general bug's in the parsing routine
  • Complete new message transfer routine between parser.dll and TheHammer
  • Parser.dll should be memory stable, fixed some bad memory leaks
  • Added as many security checks (null pointers or invalid memory blocks...) as possible
  • Parsing speed improved
  • All exceptions (fatal errors) in the parser thread are catched. If such an exception occurs (which should only be very rarely) you will get a message box and TheHammer don't abort abnormally.
  • Splitted parser to one parser control object for the whole TheHammer (the object controls creating/destroying, starting/stopping the parser thread and receives all messages from the parser thread) and an original parser object for each edit-window (which holds the parsed data). So all possible crashes because of changing the edit-window and the resulting troubles are gone.
  • New datatypes introduced in VDF now parsed by TheHammer parser: datetime, timespan, Address, BigInt, Char, Currency, DECIMAL, FLOAT, SHORT, UBIGINT, UCHAR, UINTEGER, UShort

Editor Window


  • fixed bug on paste/cut operations
  • CodeList / CodeTip new CodeMax engine implemented
  • On pressing <CTRL>+<F1> editor calls case sensitive help of VDF, supplying wrong keyword sequence instead of keyword selected. Fixed.
  • fixed a bug on destroying CodeMax where the used font was tried to be deleted before it was released by CodeMax

Main Menu, Toolbar and Status Bar


  • Changed the file open dialog to a dialog that is able to open multiple files at once
  • Added new items to open Source, Packages, DDs and VDF System package folders with a once click of the mouse.
  • Main Menu enhanced, systemized and expanded with new items.
  • Added new configurable Menu Items like "Source" and "Database" that allows you access to the your famous tools to work with sources or database (like Version Control Systems, Code Maintenance Utilities, Database editors and viewers etc), All menus (Tools, Source and Database) are fully configurable.
  • Minor bugs fixed.
  • Created one global floating popup menu for all edit-windows (since the menu is always the same, it is wasting resources and only making troubles to have a menu-object with about 30 arrays for each edit window.
  • On click on Line/Column pane of Status Bar, TheHammer activates Goto Line editor dialog. If "INS/OVR" pane clicked, editor toggles overtype mode, on workspace name - pops up workspace selection dialog.
  • Status Bar object completely redesigned and built on more sophisticated class.
  • Toolbar shadow worked incorrectly. Fixed.
  • Toolbar Compile button worked incorrectly. Fixed.
  • New button "Execute" added to Toolbar.

Dialogs


  • TheHammer system options dialog were improved significantly and becomes more elegance, intuitive and easiest for your use.
  • New language definition can be created very easy and really fast.
  • Into TheHammer system options dialog added all general options being missed in previous release.
  • Customize menu dialog improved to support new menu items (Source and Database).
  • Some of checkboxes in System parameters dialog not act on check, as result, Save button remains shadowed. Fixed.
  • Keywords table on a Language tab does not allow entering more then 100 keywords. Basic engine limit increased up to 200 items per table, Keywords grids expanded up to 180 entries.
  • Workspace selector dialog now resizable.
  • New dialog in the workspace selector window introduced - Workspace Info.

Tools


  • Added a new option to insert bitmap reference into the source from Open File Dialog (mapped to your Bitmaps folder by default).
  • CodeTip and new CodeList controls were introduced into this release. CodeTip allows you to see a ToolTip window with functions syntax highlighting like the one you can see in Microsoft Visual Studio.
  • New Built-In utility introduced in TheHammer. This utility named as CodeArt. CodeArt is a simple tool, which allows you format your source in more readable view by tracking indent following the current scope, replacing Tabs with spaces because some text editors may show it incorrectly and some others feature. You can use 3rd party utility CodeArt if defined in TheHammer system options.
  • New Built-In utility introduced - CodePub (Code Publishing utility). It allows you publish your source "as is" using HTML. Built-In utility follow by TheHammer Editor options and highlights the published source in same way as you see in editor window. This utility also configurable via TheHammer System Options dialog and could be replaced by 3rd party tool. (Placed under "Source" menu).
  • New feature - pre-compile dfAllEnt.pkg and Windows.pkg introduced.
  • Checking for open parentheses as soon as the expression is finished new feature introduced.
  • New engine developed for Find in files feature. It allows you to run an incredibly speedy search in source files right from within the editor.
  • TheHammer now directly shows all opened files in a tabbed list at the bottom of your screen. Because of this, navigation between opened files has now become much easier and faster.
  • New tool - Compiler spy intrduced. It allows capture and show compiler messages right during compilation!
  • Completely redesigned Message Area (ex Error List). Now it can show errors occurred during compilation, compilator messages and unlimited number Search in files results.

Installation Program


  • Completely new installation program created using Install Shield Software