Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How can I release .DBO and .SCO links without exiting EXE?

Status
Not open for further replies.

dbMark

Programmer
Apr 10, 2003
1,515
US
I have some dbase 5 for DOS applications compiled as EXE executables. That EXE calls many other PRG (code) files. The problem is that when I make a minor change to one of those called programs, I can't recompile them on the live system because users who had opened those external code files (extension .DBO) still have READ-ONLY links to those files.

The program files are separate files (.PRG) called as "DO ..." but no procedures are set.

Sometimes I make everyone get out of the EXE completely to close those links, after which I can compile those code files. Of course there's always one person who's not at his desk and that holds up everything until someone nearby closes the program. Other times I rename the file, rename the file that called it, rename the EXE, so that there's a seamless fix put in place during the shift. Is there a way to have the EXE release those accessed but still-linked files? I have that complicated workaround that I've been using for years to manage this issue so I don't kick users offline, but it is a real hassle. It would sure be nice to find a way to release those links no longer in use. Any ideas?

dbMark
 
Sorry, I know the .SCO screens are released by SET FORMAT TO. Somehow while triple-checking my text I failed to remove that from the subject line.

(Why can't I edit my post as long as no one has replied yet?)
 
dbMark,

I doubt that you'll be able to do this for the same reasons that you can't recompile to the same file name. I've had this problem in the past on an Informix system and the way I got around it was to broadcast a message to all users that at such-and-such a time, the file would be taken off line for maintenance and if they weren't logged off that file, the system would do it for them and their data probably would not be saved. It was a hassle at first but after a few times, everyone got the idea.

Hope you can find a solution that works for you...



There's always a better way. The fun is trying to find it!
 
Thanks. I didn't see it mentioned here, so I thought I'd try anyway.

Here's how I update "live" without shutting down the building:

I look first to see how many are in the component I'm updating. If it's not many, then I'll just ask them to exit the application and not re-enter that section until I give the signal.

Otherwise, as described in the original post, I put my changes in program files with file names (in a chain back to the top-level program) slightly different and recompile to a different exe. I have all users use one batch file to open this particular application, so when I want to switch the line running the EXE from work1.exe to work2.exe all I have to do is tell all the users to exit and re-enter. Then I watch the server's list of open files to see who the stragglers are and find someone to go do it for them. (Often they're on a break, out to lunch, etc.)

Lastly, if need be I come in early or stay late to get it done after hours.

dbMark
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top