Single user file thinks it is a shared file?

I have a Single User File that I open with the OpenDatabase statement before replacing its data with an ImportText statement. On first attempt to run the procedure, I get the following error message: “ImportText statement cannot replace existing text when database is shared.” However, if I first open the file with an OpenFile statement and then run the above procedure to replace the data, it works with no error message. I am puzzled. It is possible that I created the single user file by detaching and copying a shared file, but I honestly can’t remember. Is there a way to make sure a single user file is truly a single user file so that it does not occasionally think it is a shared database?

Also there seems to be a subtle difference between and OpenFile statement and an OpenDatabase statement. I changed my procedure to first open the file with an OpenDatabase statement, and the files does not appear to open (although MemoryUsage indicates the file is open and in memory). Switching out the OpenDatabase statement with and OpenFile statement does open the file.

You are actually opening the database with the OpenDatabase statement either way. In Panorama X, the OpenFile statement is constructed using Panorama code, and ultimately relies on the OpenDatabase statement (which is written in Objective-C) to open the database.

Again, there can’t be any difference, because ultimately Panorama always uses OpenDatabase to actually perform the open operation.

There is something else going on other than what you have described. I could speculate, but probably not very productively.