Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VCT size is 690Mb!
Message
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00817601
Message ID:
00817619
Views:
24
>>Hello.
>>I have problem with SAVE my class. When I save it, the VCT size grow untill a enough disk space error happen.
>>Next things do't help me:
>>- Recompile class (RECOMPILE CLASSLIB)
>>- Open in class browser and cleanup
>>- Recompile project
>>- Open VCX as DBF and pack memo (size of VCT decrease.. but during next save it grows)
>>Any idea.. how can I save class?
>>
>>Thanks
>>Denis Gavrikov
>
>Hi Denis,
>
>It is normal for the .VCT file to grow during normal operations, and frequent packing should be part of daily operations if you change lots of code. Our build routines automatically pack .vcxs prior to build to keep them clean.
>
>A few questions. Are you running out of disk space because you are low on space, or is it due to the class growing until you run out of space?
>
>If you open the the class in the class browser and run the "View class code", do you see any problems there? Since you have already pack the class library and you continue to experience this problem, it could be corruption, but viewing the code in the class browser might at least help you pinpoint where and then you could use the .vcx, locate the offending record(s) and remove them after salvaging the properties and methods.
>
>I hope this helps!
>Bob


Denis, as a followup, after I posted my message I realized that you said the .VCT size was 690MB. If that is the case, you certainly must a problem as it is unlikely anyone would have that much code. Follow the suggestion of using the class browser to view the code. If you still can pinpoint the corruption, write a little program to loop through the .vcx record by record and dump each record to a separate .dbf file. This should pinpoint the "oversized" records. At that point, you may need to look at the records preceding and following the oversized records to see if they are causing the problem.

Try this. Copy the corrupted .vcx to a temp folder. Then try something like:

USE bad.VCX EXCL
SCAN
lnRecNo=RECNO()
SELECT * FROM bad WHERE RECNO()=lnRecNo INTO TABLE ("c"+ALLT(STR(lnRecNo)))
ENDSCAN

At this point, you will have one table for each record in the .vcx. See if you can find the offending record by locating the oversized .fpt.

I hope this helps you out!
Bob
Previous
Reply
Map
View

Click here to load this message in the networking platform