John Baird writes:
> Pardon my ignorance, but what is scX?
scX is an experimental piece of VFP code, built on and wrapping scctext, that hooks into your project and creates and maintains text-only renditions of the various binary file types (class libraries, form files, menus, projects, reports, and so forth). Once the text files have been created, you can delete all the binary files and scX will be able to recreate them.
The main purpose of all this is to get the plain text files for saving to source control. Saving binary files to source control results in a huge waste of space in the repository because each version is a completely new binary image, instead of just a diff of the prior version. Also, diffing a text file is a very valuable tool to have.
Also, in VFP it is complicated even more because there are always 2 binary files that need to be saved (the dbf and the fpt). In CVS this is complicated even more because CVS is case-sensitive, and VFP likes to inexplicably change the case of filenames and/or file extensions at its own whim.
Unfortunately, the scX experiment has opened up cans of worms, and is too dependent on assumptions made internally by VFP. Did you know, for instance, that the relative ordering of records in the VCX determines the ZOrder of the objects in the class? Or that the class designer is dependent on the method code being compiled, in order to merely list your methods in the code editor? Or that the existence of the DoCreate property in the proper position can determine the value of explicitly set properties? Or that VFP sometimes keeps file handles to your VCX open in the background, even when the class is cleared, the only way to clear those file handles being CLEAR ALL, which is way too broad a stroke?
Ah, cans of worms. The source of my livelihood! <g>
Oh, almost forgot. Should you want to be daring and try out scX, it is available at http://www.leafe.com/dls.
-- Paul McNett
©2003 Paul McNett |