FIX: VFP 3 Form or Class Modified in VFP 5 Loses Method CodeID: Q163023 The information in this article applies to:
SYMPTOMSModifying a form created in Visual FoxPro 3.0 or 3.0b may, under certain circumstances, result in temporary or permanent loss of event or method procedure code. -or- Instantiating a class created in Visual FoxPro 3.0 or 3.0b may, under certain circumstances, result in temporary or permanent loss of event or method procedure code. This can happen if both of the following conditions are true:
RESOLUTIONIssuing a COMPILE FORM or COMPILE CLASSLIB command against the form or class library sometimes, but not always, repairs the file in question. If any other changes are made to the form or class and the form or class is saved, compiling is not likely to retrieve the lost code.
STATUSMicrosoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem has been fixed in Visual FoxPro 5.0a.
MORE INFORMATIONThe format of compiled object code has been changed between Visual FoxPro 3.0x and Visual FoxPro 5.0. Any event or method procedure code is automatically recompiled when a Visual FoxPro 3.0x form is modified or run in Visual FoxPro 5.0. Classes created in Visual FoxPro 3.0x must be first run or compiled in Visual FoxPro 5.0 in order to be modified in Visual FoxPro 5.0.
Steps to Reproduce BehaviorUse the following steps to demonstrate the behavior in the Form Designer: 1. Create a form in Visual FoxPro 3.0b. 2. Add a command group to the form. 3. In the Click method of each command button, add a WAIT WINDOW command. 4. Close the Form Designer and save the form. 5. Modify the form in Visual FoxPro 5. 6. Attempt to view the click method code for each of the command buttons. 7. Run the form in Visual FoxPro 5.0, and click on the command buttons. No
In the above example, issuing a COMPILE FORM <form file name> command
repairs the form. More complex forms may or may not be successfully
repaired with COMPILE FORM.
Use the following steps to demonstrate the behavior in the Class Designer: 1. Create a class in Visual FoxPro 3.0b based on CommandGroup:
2. In the Click method of each command button, add a WAIT WINDOW command.
3. Close the Class Designer and save the class. 4. Instantiate the class in Visual FoxPro 5.0 by issuing the following 5. Modify the class:
6. Attempt to view the Click method code for each of the command buttons.
In the above example, issuing the following:
will repair the class. More complex classes may or may not be successfully
repaired with COMPILE CLASSLIB.
Additional query words: delete program remove object
|
Last Reviewed: November 1, 1997 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |