CLEAR projectName = FORCEPATH("TESTPROJECT",SYS(2023)) programName = FORCEPATH("TestProgram.prg",SYS(2023)) CREATE PROJECT (projectName) NOWAIT NOSHOW STRTOFILE("RETURN",programName) _VFP.ActiveProject.Files.Add(programName) ? "prg is added",_VFP.ActiveProject.Files.Item(1).Name ? "exists fxp before BUILD",FILE(FORCEEXT(programName,"fxp")) BUILD PROJECT (projectName) RECOMPILE ? "exists fxp After BUILD",FILE(FORCEEXT(programName,"fxp")) COMPILE (programName) ? "exists fxp After COMPILE",FILE(FORCEEXT(programName,"fxp")) _VFP.ActiveProject.Close ERASE (FORCEEXT(projectName,"*")) ERASE (FORCEEXT(programName,"*"))This is much annoying one because BUILD is used when it comes changed a value in .h files,