Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Hacking Your .SCX,.FRX,.PJX,.VCX,.DBC files 3

Status
Not open for further replies.

jonscott8

Programmer
May 12, 2000
1,317
US
This is for those of you who enjoy hacking your table files (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx).

Have you ever been browsing one and said to yourself, "Gee, I wonder what that code stands for?" or "I want to change this to that, but I don't know what the code for that is."

If so, these reports might be of interest. If you've never hacked a table file, there's not better time to start than today; For hacking table files is just another example of how flexible VFP really is.

Under you VFP Home() directory, you will find a subdirectory named FileSpec. In the FileSpec directory, you will find reports named 26*.frx and 60*.frx. The 26*.frx reports apply to FoxPro 2.6 and the 60*.frx reports apply to VFP6.

Take a peek at these reports and you'll discover the mystery of the VFP table files structures.

One final note for the newbies on hacking, ALWAYS make a backup prior to making any changes to the table data or else you may discover what a man made disaster really is. :) [sig]<p>Jon Hawkins<br><a href=mailto: jonscott8@yahoo.com> jonscott8@yahoo.com</a><br><a href= > </a><br>Focus on the solution....Not the problem.[/sig]
 
Guys, These files are not enough to WORK with on that level. For example, do you know that any changes you maid in code in VCX library when opened as table will have no effect until class library recompiled? More, when you will try to open such changed class in VFP class designer, you have risk of crash or lose of all class code.
I have great experience in working with VCX/SCX files on the low level and even written little routine to compare 2 VCX files for changes, include changes in classes hierarchy. And I'm sure, information in these reports IS NOT COMPLETE. Use it at your own risk. [sig]<p>Vlad Grynchyshyn<br><a href=mailto:vgryn@softserve.lviv.ua>vgryn@softserve.lviv.ua</a><br>[/sig]
 
Hi Vlad,

More, when you will try to open such changed class in VFP class designer, you have risk of crash or lose of all class code

That is why I said &quot;ALWAYS make a backup prior to making any changes to the table data or else you may discover what a man made disaster really is&quot;.

And I'm sure, information in these reports IS NOT COMPLETE

Im interested in hearing exactly what you mean by this.

My intentions of this thread were not to inflate one's hopes of becoming an expert on the VFP table structures, but to encourage new developers to gain an understanding of exactly how VFP manages it's objects.

Some of the most common uses of hacking include:
1. Removing print driver info from .frx's.
2. Changing the location of one class's classlib to another classlib.
3. Stripping out non-compiled code from distributed classlibs.

IMO, all VFP developers need to be able accomplish these frequently used hacks. [sig]<p>Jon Hawkins<br><a href=mailto: jonscott8@yahoo.com> jonscott8@yahoo.com</a><br><a href= > </a><br>Focus on the solution....Not the problem.[/sig]
 
You got it Jon! I meant exactly 'expert' programming of vcx, i.e. make you own column class for grid like I did 2 years ago.
I have to add to your list:

4. Make header column for grid that may be added to grid column in design-time and could have nice functionality (for example, sorting)
5. Change parent class for control. For example, you have a lot of code in texbox control, but suddenly discovered that you need editbox on that place. Instead of copy all properties and code to new class, just fix a single field in VCX.
6. Fix darn exact paths to class library and include file to make them relative. So when you move class to another class library in another folder, you will have no errors just because some folders do not exist on another machine.
7. Fix class referenses after base class renamed. VFP have built in feature for this, but it does not works for many cases and I often require to go inside VCX and rename parent class manually.

I may continue as I remember more... [sig]<p>Vlad Grynchyshyn<br><a href=mailto:vgryn@softserve.lviv.ua>vgryn@softserve.lviv.ua</a><br>[/sig]
 
What happened with my sign-up??? [sig]<p>Vlad Grynchyshyn<br><a href=mailto:vgryn@softserve.lviv.ua>vgryn@softserve.lviv.ua</a><br>[/sig]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top