This project is read-only.

FoxCharts: Memberdata fix

Nov 3, 2008 at 9:53 AM
Edited Nov 3, 2008 at 11:37 AM
I know I'm in the minority here, but I really don't like the _MemberData property as it makes the class and form designers crawwwwl.... Here's a small program I use to get rid of the property in a new release:

*========================================================================================
* Removes all _MemberData properties in order to obtain acceptable performance in the
* VFP designer
*========================================================================================

    RemoveMemberdata( "GdiPlusX" )
    RemoveMemberdata( "FoxCharts" )

Procedure RemoveMemberdata( tcVCX )
    Use LocFile(ForceExt(m.tcVCX,"vcx")) Again Alias _VCX In Select("_VCX")
    Replace all in _VCX ;
        Reserved3 with Strtran( ;
            Reserved3, ;
            StrExtract(Reserved3,Chr(10)+"_memberdata",Chr(10),1,4), ;
             Chr(10) ;
        )
    Use in Select("_Vcx")
EndProc

Nov 3, 2008 at 11:18 AM
Hey Christof,

LOL, I thought you were about to post a fix for the _Memeberdata performance. :-)

I'm really sorry about that, but IMO, although all the performance problems it brings it's still useful.
Anyway, I'll include the notes you've just posted here to the HELP file and to the revision notes, as a tip for people that do not feel comfortable with the _memberdata behavior.

Thanks !
Nov 3, 2008 at 11:26 AM
I wish I had a solution. ;-) Replacing the Properties Window and the Document View would solve this, but that's a little too much for a single post. The problem is that VFP repeatedly loads the XML of all parent classes making this problem worse the more classes and inheritance levels you have. It becomes extremely noticeable when the Document View is open, since then all parent classes of all objects on the form/class are scanned.

Thanks for adding the code to the help file. I haven't considered this a bug, hence my post here instead of in the issue tracker. It's just a problem that I have, nothing to do with your code... <s>
Nov 3, 2008 at 11:39 AM
I've fixed a minor bug in my code above.