The Hammer FAQ/Manual V1.2This combined FAQ and manual is a quick attempt at documentation of the Hammer while a more formal manual and/or helpfile is created. At present, I am just trying to get as much information down as possible, so the formatting, grouping of topics, etc is pretty poor. Later this will be split into a proper FAQ and Manual. As both the Hammer and my knowledge of it are changing rapidly, not all of this information may still be (was ever?) correct. Index
1. Getting Started1.1 Where can I get the Hammer?The Hammer is an open source project, hosted at the VDF Guidance website http://www.vdf-guidance.com/ 1.2 How should I install the executable version?Download the setup file from VDF Guidance (see above). Before running this, keep the following in mind. There are currently some bugs in the Hammer pathing routines that cause problems if the Hammer is installed in a directory path that includes spaces or long files names (Such as "Program Files"). Until these are fixed you should install to a directory that uses standard DOS 8 character pathing. (e.g. C:\KPHAMMER) **WVA: ARE THESE PROBLEMS STILL IN THE HAMMER? Also, the installation process will create 2 VDF7 workspaces, one is called CodeMax and is used by the Hammer itself. The other one is called VDFLNG and is used by the ASDBC, the program that will fill the autosuggestion database of the Hammer with your (sub)class information. The location of the workspace is HKEY_LOCAL_MACHINE\Software\Data Access Corporation\Visual DataFlex\7\Workspaces\CodeMax. There is a similar workspace created called VDFLNG with the same keys. 1.3 How do I un-install the Hammer?Just click on uninstall from the menu or from "Add/Remove Programs" in the configuration panel. 2. Hammer Components2.1 Edit WindowThe edit window is the CodeMax editing component, also used by Data Access in the VDF IDE. All the actual editing is done here. The shortcut keys, syntax coloration and some other features are configurable. 2.2 Code ViewThe Code View window shows a tree which contains all the components (objects, procedures, functions, etc) of the file being edited. As you move around the edit window, you can synchronize the position in the code view with the "Synchronize CodeView" (Crtl+S) command. The "Code Explorer" (Alt+F1) will jump the focus to the CodeView or FileView, whichever is shown. Continued usage of (Alt+F1) will then switch between the CodeView and FileView tabs. To synchronize the edit with your location in the code view, hit Enter. Tab will return you to the edit window. 2.3 File ViewSharing the same window as the CodeView, but on a different tab, the File View displays a list of all the files that are referenced in the edited file. Pressing Enter on one of these will open the selected file for editing. 2.4 Smart Dos BoxThe Smart Dos Box command starts an MSDos prompt that has as it's current directory the AppSrc Directory of your currently selected workspace. 2.5 Class ReferenceThe Class Reference is a seperate program that is used to maintain and view the Class Reference Database. This section has some bugs in it still. If you get an error about workspace VDFLNG see installation above. You may also get occasional errors about DFEDIT10.DLL, once on startup and many times on entry to the Menu Writer. These are known bugs and will be fixed in future versions of the Hammer. The Class Reference database holds a list of all known classes, and the properties, methods, and events in each one. This information is used by the Hammer for it's autosuggestion capabilities. The Class Explorer also shows these for all parent classes and mixins, and is a handy reference. 2.6 ASDB CompilerThis compiler runs through the base classes, updating and expanding out the autosuggest database. This should be done when ever the classes change. It is done for you during installation. 3. Auto-Suggestion Capabilities.3.1 Objects Auto-suggestionA list with all available objects appears whenever you type a piece of code where you need to enter an object reference. This will be activated by the following statements: set YourProperty of ... 3.2 Procedure/Function Auto-suggestionA list of all available methods appears whenever you are creating a procedure in an object and helps you to override methods in objects. This will be activated by the following statements: Procedure ... Note that this is based on your location in the file and also the contents of the class database. If the list does not show, you may be outside of any object, or the database may not know about the current object. 3.3 Call CreatorThis list is invoked whenever you type one of the following keywords and press [Enter] afterwards. set [Enter] 3.4 Using Autosuggestion ListsAfter the list pops up, you can just keep typing, and the list will locate to the first matching line item, or use the mouse or arrow and PageUp/Down keys to browse the list. Once the required item is found, pressing tab will insert the item and leave the mouse on the same line, while Enter will leave you on the next line. Escape will remove the list. 3.5 Other Suggestion ListsUnder the Tools menu there is a submenu titled AutoSuggestion Lists. All the lists mentioned above are available here, as well as a Local Variables List and a Key List. The same restrictions are placed on their use here as when they appear automatically (eg - don't expect a procedure list outside an object). 4. Menus and Toolbar4.1 File MenuThis has all the standard file options (New, Open , Save, Save As, Save All, Close, Close All, Print and Exit). Most of these can be given shortcut keys (see next section). There is also a list of recently used files, and an option called "Open Standard VDF Package". This seems to work as a standard file open, except it starts in a different working directory. 4.2 Edit MenuHas the standard editing functions (Undo/Redo, Cut, Copy, Paste). Also has Select All, Select Line, Delete Line, and the find and replace functions (Goto Line, Find, Find Next, Replace). The final entry (Find in Files) brings up the Windows Find Dialog. 4.3 Options MenuSystem Parameters lets you configure the VDF specific areas of
the Hammer. File associations, related programs and Language Keywords are
controlled here. 4.4 Build MenuHas the options Run, Precompile, Execute and DebugRun. These commands are only available for files of a suitable type. You may also need to set up information about your compiler and debugger in the System parameters dialog. 4.5 Tools MenuFile Headers lets you maintain and insert standard File Headers.
There are Global and User headers. The header will be inserted in the top
code area of the file to keep it IDE compliant. The insert options can be
set up with Shortcut Keys (ToolsInsertHeaderGlobal and
ToolsInsertHeaderUser commands) 4.6 Window MenuHas the standard windows options (Cascade, Tile, Minimize/Restore all,
Split). At the bottom has the list of currently loaded files. Also has the
following: 4.7 Help MenuMost of the menu items here do not work at present, as the help files have not yet been created. The About box does work. 4.8 ToolbarThe toolbar has some of the most common commands on it. The Properties button at the end will bring up the Editor Properties if a file is loaded, and the System Parameters if not. 5. Editor Commands and Shortcut Keys.5.1 OverViewThe CodeMax editor comes with a large number of built in commands. Some of these come with Shortcut (or Hot) keys already established, some do not. Many of these are not available any other way. These can all be modified to your own specifications in the Properties Dialog, Keyboard Tab. Multiple keyboard assignments for the same command are accepted. It is recommended that you take a quick look through the commands listed there and see which you might use. Some commands you may wish to use are listed below 5.2 Common Commands
6. Trouble Shooting.6.1 How do I jump to an object from the CodeView?Question: When I click on an object in the CodeView, the edit
object does not relocate to that object. Shouldn't this
work? 6.2 Why doesn't the mouse work on auto-suggest lists?Question: Doubleclicking on a autosuggestion list will not do
anything. How do I select the correct item? 6.3 How do I configure the Hammer?Question: What configuration options are available and
where? Note that CodeMax properties are only available if the editor is visible (ie if you have a file open). Otherwise you will get the System Parameters instead. 6.4 How do I control the auto-change of Case on Keywords?Question: What controls are available for auto-changing of
case? One known bug relating to this area in the current version is that #IF has not been defined as a Scope Keyword. 6.5 Why doesn't the CodeView tree update when I add a procedure?Question: After I write End_Procedure the CodeView tree does not
always update. This can also lead to the CodeView tree being empty. If you save a file with an unfinished procedure in it and then re-open it, because the number of start and finishing scopes does not match up, then it does not display at all. 6.6 How do I export and import my Shortcut Key definitions?Question: How do I export and import my Shortcut Key
definitions? 6.7 The Hammer crashes when i start it, what gives?Question: Why does the Hammer crash while i just want to start
it?
For additions, omissions and errors in this FAQ, please contact <hammer@clockworkcomputing.com.au>. Compiled by Stephen Hope, from questions asked in the Hammer newsgroup, documents provided by Michael Kurz and elsewhere. Answers and additional input provided by Michael Kurz and Sergey Natarov. Thanks everyone! |