>>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") ) >>>>
>#DEFINE CFG_PREFIX "abc" > >LOCAL SourceCode AS String >LOCAL Filename AS String >LOCAL Instance AS Object >LOCAL Section AS String >LOCAL ARRAY FilesInDisk(1) > >m.Section = "XYZ" > >TEXT TO m.SourceCode NOSHOW TEXTMERGE >DEFINE CLASS <<m.Section>> AS Custom > FUNCTION Operation (Op1 AS Number, Op2 AS Number) > RETURN m.Op1 * m.Op2 > ENDFUNC >ENDDEFINE >ENDTEXT > >m.Filename = ADDBS(SYS(2023)) + CFG_PREFIX + SYS(3) + ".prg" > >STRTOFILE(m.SourceCode, m.Filename, 0) >SET PROCEDURE TO (m.Filename) ADDITIVE > >m.Instance = CREATEOBJECT(m.Section) >? m.Instance.Operation(2, 3) > >m.Instance = .NULL. >RELEASE m.Instance > >CLEAR CLASS (m.Section) > >ERASE (m.Filename) >ERASE (FORCEEXT(m.FileName, "fxp") ) > >MESSAGEBOX(TEXTMERGE("Files in disk like <<FORCEEXT(m.Filename, '*')>>: <<ADIR(m.FilesInDisk, FORCEEXT(m.Filename, '*'))>>")) >After looking at your example it has became clear that the issue is that the object is still associated with the FXP. Until the object is released, the FXP can not be deleted.