I have had this problem on a couple of machines, where SALFLIBC.DLL gets reset to a zero length file. I cannot determine what goes bonkers or when. I usually notice it on my secondary computer. But just now, on the primary, PLATO would not successfully compile, link, and run. The error was "Target does not exist". I looked in the SilverFrost\Program Files folder, and there was the zero length DLL. Copied from the redist location and re-ran the build, and all was well.

The closest I've been able to determine, if either the compiler or my application crashes horribly (i.e. no error dialog), then this file gets wiped. Even setting it to "Read-Only" doesn't help. Also, as a regular user, I can't get access to delete the file unless I go ADMIN and change the ownership and permissions.

I had a horrible thought that perhaps you have an OPEN statement where FILE='SALFLIBC.DLL' and this is a self-inflicted wound? Surely not. Stranger things have happened, and they can be the result of accidental editing (there are several chord-key presses that will insert).

You can, of course, copy SALFLIBC.DLL to the folder wherein lies your development executable, and that copy will be used by your program. See if that gets zeroed.

Nope. At the point where the program crashes, no files are open. I only open (and close) files from 1 routine. And never would select this file in any case. No reason to.

The only thing I can think of is that the debugger may be getting started, but I'm not opening the program from within Plato, nor using the debugger to open it. Have never need to use the debugger (although I do recognize the power in that).

If your DLL is in a protected folder (like Program Files (x86)) and you are not running "As an administrator" then there should be no way for you to accidentally blank out the DLL (within Plato, the debugger or anywhere). Even if there were something wrong in Plato or the debugger, in theory this behaviour should not happen without an explicit prompt to elevate your status.