When you launch an application using HyperCard's Open command, it opens the
application with privileges that lock the file. This prevents any other
application, including the Finder, from launching the same application.
HyperCard's Open command, therefore, can not multi-launch a single
application.
There are ways to work around this. As mentioned, if you initially launch
the application from the Finder, additional launches of the application
from HyperCard do work, because it's the first application (in this case,
the Finder) rather than HyperCard that sets the privileges of the open
file.
You can also write an XCMD that does what the Open command does, except
that you set the privileges for multilaunch in the XCMD.
Another option is to launch multi-user applications locally, rather than
from the server. We've found that multi-user applications work faster when
each Macintosh has a local copy of the application and accesses only the
data file on the server. If the application is kept at the root level of
each Macintosh, a HyperCard stack could launch the application locally, and
the application could get the data from the server.
If you don't want to have the application at the root level, you can:
- program each HyperCard stack with the access path to the application; or
- have the user tell HyperCard where the application is on the local disk
(via the dialog that HyperCard shows if it doesn't know where an
application is).