>>placed this code before the if block
>>
>>lFileExists = File(xFile)
>>lFileExists returns .T. BUT the file DOES NOT EXIST and the debugger confirms that fact but the code in the trace skips the execution inside the if block !! ???
>
>FILE() returns .T. if the file is found in the CURDIR(), in any folder specified in SET PATH and also if a file of that name is bound into the executable.
But he's building the path to the file, i.e. the xFile is supposed to contain a path. What's not clear is whether the directory really got created, and what's the actual filename. I've noticed that using addbs() in some versions used to add the final backslash even when there was one already, and that for building full paths ForcePath() is much more reliable. So my sure-fire method for finding, opening and read/writing files is
lcFullFile=fullpath(forcepath(lcFilename, lcLocation))
if not directory(lcLocation)
md (lcLocation)
endif
if not file(lcFullFile)
endif