Microsoft KB Archive/172096

= FIX: Forms Under Source Control Open Slowly =

Article ID: 172096

Article Last Modified on 11/18/2003

-

APPLIES TO


 * Microsoft Visual SourceSafe 4.0a
 * Microsoft Visual SourceSafe 5.0 Standard Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition

-



This article was previously published under Q172096



SYMPTOMS
When you modify files in a Visual FoxPro project under Source Code Control, it takes 4 to 5 times longer than if the project is not under Source Code Control.



CAUSE
Instead of updating individual files when individual objects are being modified, the entire project is updated by default in Source Code Control.



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been corrected in Microsoft Visual FoxPro version 5.0a for Windows.



Steps to Reproduce Problem
  Run Visual FoxPro v5.0 and create a Visual FoxPro program file, MakMor.prg, with the following code: **** Create sample programs **** FOR i= 1 TO 200 lcname1="main" + maknum(i) + ".prg" COPY FILE main000.prg TO &lcname1 ENDFOR

**** Create sample forms **** FOR i= 1 TO 200 lcname1="main" + maknum(i) + ".scx" lcname2="main" + maknum(i) + ".sct" COPY FILE main000.scx TO &lcname1 COPY FILE main000.sct TO &lcname2 ENDFOR

PROCEDURE maknum PARAMETERS tnWhich RETURN PADL(ALLTRIM(STR(m.tnWhich)),3,"0")  Save the program file created in the previous step into a directory by itself, for example "..\BigProj\". This program will create 200 program files and forms that will be used to reproduce the behavior.  Create a Visual FoxPro program file, MAIN000.prg, with the following code: &&***Top of MAIN000.PRG**** RETURN DO MYINIT DO MYSAVE DO FORM main READ EVENTS

PROCEDURE myinit

LOCAL x00,x01,x02,x03,x04,x05,x06,x07,x08,x09 LOCAL x10,x11,x12,x13,x14,x15,x16,x17,x18,x19

STORE 9 TO x00,x01,x02,x03,x04,x05,x06,x07,x08,x09 STORE 9 TO x10,x11,x12,x13,x14,x15,x16,x17,x18,x19

RETURN

PROCEDURE mysave

LOCAL x00,x01,x02,x03,x04,x05,x06,x07,x08,x09 LOCAL x10,x11,x12,x13,x14,x15,x16,x17,x18,x19 LOCAL x20,x21,x22,x23,x24,x25,x26,x27,x28,x29

STORE 9 TO x00,x01,x02,x03,x04,x05,x06,x07,x08,x09 STORE 9 TO x10,x11,x12,x13,x14,x15,x16,x17,x18,x19 STORE 9 TO x20,x21,x22,x23,x24,x25,x26,x27,x28,x29

RETURN &&***End of MAIN000.PRG**** Save the program into the same directory (..\BigProj) as the program file created in step 1. This is a sample program whose contents will be copied into all the sample program files created by MakMor.prg.  Create a Visual FoxPro form, MAIN000.SCX, and place a control on the form. Save the form to the same directory (..\BigProj) as the previous step. The contents of this form will be copied to all the sample forms created by MakMor.prg.  Create another Visual FoxPro program, MNDAT.PRG, with the following code: IF !file("main.prg") FHAND=fcreate("main.prg") FCLOSE(fhand) ENDIF fhand = FOPEN("main.prg",11) ?"fhand = ",fhand IF FHAND >= 0 FOR i=1 TO 200 fnum=PADL(ALLTRIM(STR(i)),3,"0") FPUTS(fhand, "Do Main"+(fnum)) ** Uncomment the following if forms added to the project ** fputs(fhand, "Do Form Main"+(fnum)) ENDFOR ENDIF FCLOSE(fhand) Save the program to the same directory (..\BigProj) as the previous step. This program creates MAIN.PRG that contains references to all the forms and programs created by MakMor.prg.   From Visual FoxPro issue the following commands: SET DEFAULT TO <..\BigProj> ** Set default to where all files saved DO MakMor.prg    **Make sample programs and files DO MNDAT.prg     **Create Main.prg with references to files </li> Create a Project, BigProj.PJX, in the directory (..\BigProj) where all the files have been saved so far.</li> Add MAIN.PRG to the project and re-build the project to add all the files referenced by MAIN.PRG.</li> Modify any of the files (Programs or Forms) from within the Project Manager and note that the modify window opens up instantly.</li> Close all files and add the project to source control.</li> Repeat step 9 and note that the modify window takes much longer to come up.</li></ol>

NOTE: In Visual FoxPro v5.0a step 11 will be almost as fast as step 9.

Keywords: kbbug kbfix kbvfp500fix KB172096

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.