|
RAS Hack SCX/VCX
|
Version 3.3.5 Features (30-Jan-2003) |
Corrected start up problem based on change SQL Engine change made in VFP 8. |
Added G2Tools.com hyperlink on About page. |
Version 3.2.7 Features (29-Jul-2001) |
Added button on form that erases all the ObjCode in the form/classlib (handy when corrupted) |
Added button to Class Information tab to assist developer in redefining objects (like Class Browser) |
Added button to Class Information tab to reset object to VFP Baseclass |
Changed all buttons to "hot tracking" when running in VFP 7 or later |
Version 3.1.18 Features (25-Apr-2001) |
New registry entry (HKEY_CURRENT_USER\Software\GeeksAndGurus\HackForm\3.0\Options\Location) - Solves problem with locating the User table and INI when different DEFAULT Directory - Need to to create registry key by running: HackForm.exe with .T. |
Added Geeks and Gurus hyperlink, Geeks and Gurus logo, and Geeks and Gurus email |
Version 3.0.77 Features |
New delete row checkbox (red trashcan), can delete and recall records |
Version 3.0.75 Features |
Capture error of class or form already open |
Version 3.0.72 Features |
Standalone bug fixes |
New Ini Settings (** see documentation section below for details): - UserTable - DefaultDirectory |
Now allow User specific settings that override HackForm.ini settings (or add if not set up) |
Version 3.0.58 Features |
Open Class/Form button so you can hack another one before closing tool |
Removed the Browse and User Tabs (replaced with alternatives) |
User field moved to the Class Information tab |
Modeless, resizable Browse form (via browse button) |
New INI file (HackForm.ini) with configurable settings - DefaultClassOrForm allows developer to configure default prompt to FORM or CLASS - DeveloperSecurityApproved is comma delimited list of valid user ids to run tool - DeveloperSecurityNotApproved is a comma delimited list of invalid user ids - UserTable allows you to specify the dbf that holds user specific INI settings - DefaultDirectory allows developers to specify the default directory at start up (works like standard INI or Config.fpw file with Key = Value, rest are comments) (DeveloperSecurityApproved takes precedence to DeveloperSecurityNotApproved) (Remove both keys if you don't use a login id or don't care who uses tool) |
User configurable settings via UserTable (defaults to HackForm.dbf that override the tool INI settings |
Search defaults to the ObjName field first time through |
New commandbutton/form to go to a specific record number in metadata |
Modified indicator when uncommitted changes |
Right-Click on any editbox brings up larger, resizable form |
Sized Reserved fields, added some descriptions to labels |
Hyperlink to RAS tool website (this page) |
Message on Status Bar with metadata fieldname active and object name of control |
All new fonts and fontsizes |
Disabled Platform field since developers should typically not touch this |
Removed TabStop for disabled fields |
ReadMe.txt can be viewed from the About Page |
INI settings can be viewed from the About Page |
User id of user running the application is displayed on the About Page |
Icon for the tool (turning a wrench on the metadata <g>) |
Now in EXE version so I can get EXE Version details |
READ EVENTS so it can be run standalone (only if in standalone mode) |
Version 2.0 Features |
Buffered changes (save and revert commandbutton) |
Command Line built in so you can run code against the metadata table |
Search/Search Again capability by field in the metadata |
TimeStamp field decoded to readable date/time display, record number displayed as well |
About window with information on who wrote it and how to contact me |
Note: This utility can potentially disable your treasured source code if not properly used (read if you wack the code without knowledge of the internals of the SCX/VCXs you can disable the file). Use this tool on backup copies of the source (or backup the code before hacking) so you safely make changes. I take no responsibility for use of this product.
This utility I wrote is called "RAS Hack VCX/SCX". Have you ever renamed a Visual Class Library? I can already hear the groans and see the looks of terror on the faces of all the developers who read this line. What happens next? Try opening a Form that has objects you renamed in the class library. "Error instantiating class. Cannot find <classname> in <class library>". Sure you can locate the renamed classes and the form is displayed in the Form Designer. Close the form, open it up again and see that the locate dialog is presented again. Even though you pointed the object to the right class the Form Designer never noted the form changed to kick in the Save logic when closed down. Nice, huh? Sounds like a bug to me. Make another change to the form to work around this. Even more aggravating than this is that every object that was renamed (or if the class library was renamed) will spawn the locate dialog. The same dialog is displayed over and over even if the new class or class library were located before. This can be quite frustrating after the first 5 or so changes.
So what happens when something does go wrong and you just need to get inside the .VCX or .SCX? One can USE the file and browse it. Unfortunately all the stuff you want to see is in memo fields. Now you have to start looking for all the fields you want to look into, resize them, move them to another place so the information is viewable, etc. The next time you open it up with a BROWSE LAST you will be okay, but a new class will cause you this grief all over again!
I built the Hack VCX/SCX form to get around some of the configuration frustrations that came along with the BROWSE technique. This form allows you to select a Form or Visual Class Library. It opens it and displays the information inside the file. I protected some of the fields I felt I had no business changing at all. The rest are open to modify to my hearts content (or until I can disable the file all together).
Version 3.0 (viewed in VFP 7) |
Version 1.0 |
This tool was originally presented in the July 1997 issue of
FoxTalk as part of my article
Using VFP 5.0 Top-Level Forms.
|