main logo
Subject: Re: DoCreate() = .T. in SCX and VCX Properties Field
Author: Paul McNett

Posted: 2003/09/30 13:48:00
 
View Entire Thread
New Search


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
<-- Prior Message New Search Next Message -->