Ted wrote: > On 21 Jun, 2012, at 6:09 PM, Brian S wrote: > >> It’s almost as important to understand why the prior "Program 2" failed after studying Bernie’s solution. Hopefully you do/will. > > Actually, I don't, and won't, unless someone out there in VacuumLand can shed some light on it. I thought my previous rant on the subject had dealt with it, but that rant had to do with OPEN "I" and an OPEN "A", and never an OPEN "O" without an immediately preceding FILES$(FSRefSave.... I wonder if CFURLs would be less confusing? '----- program 1 ----- include "ConsoleWindow" _openBatchFileNum = 2 dim as Str255 s dim as CFURLRef url def open "TEXTttxt" s = files$( _CFURLRefSave, "Create a new Surface Tension project", "Teds files", @url ) long if ( s ) open "O", _openBatchFileNum, @url print #_openBatchFileNum, "Hello" close #_openBatchFileNum CFRelease( url ) end if '--------------- '----- program 2 ----- include "ConsoleWindow" _openBatchFileNum = 2 dim as Str255 s dim as CFURLRef url def open "TEXTttxt" s = files$( _CFURLRefOpen,, "Open an existing Surface Tension project", @url ) long if ( s ) open "O", _openBatchFileNum, @url print #_openBatchFileNum, "Goodbye again" close #_openBatchFileNum CFRelease( url ) end if '---------------