Hi Greg,
CLEAR CLASS classname
ERASE (THIS.Filename)
MartinaJ
>I'm back with another question.
>
>I am creating a PRG file dynamically, that contains a Class definition.
>
>
>lcAll "define class ..."
>THIS.Filename = ADDBS(SYS(2023))+CFG_PREFIX+SYS(3)+".prg"
>
>STRTOFILE(lcAll,THIS.Filename,0)
>ret = NEWOBJECT(THIS.Section, THIS.Filename)
>
>ERASE (THIS.Filename)
>*** Error occurs here, "File cannot be closed because outstanding references exist."
>ERASE (forceext( THIS.Filename, "fxp") )
>
>
>I am creating optimized classes, and have difficulty on the clean up procedure.
>
>I create a temporary PRG containing a DEFINE CLASS block. At the top of PRG is a RETURN CREATEOBJECT(...) statement. When the PRG is called the object is returned. The temporary PRG is deleted, but the FXP is still in use. How to close before ERASE.
>
>The object finished being initiated. I believed that NewObject() opened the library, created the object, then closed the library. Therefore bypassing the SET PROCEDURE call. The FXP should be freed, ya. But until a CLEAR ALL seems to be issued, the file is locked by VFP.
>
>Any suggestion?