AppPath function revisited
Richard Gaskin
ambassador at fourthworld.com
Sat Sep 21 02:32:01 EDT 2002
Some time ago I wrote here about the benefits of using a central function to
determine the path to your main stack, primarily for referring to media
located relative to your stack whether it's running under MC or as a
standalone.
Unfortunately, the Mach-O package structure (now used in MC 2.4.3) changes
the value of the filename of a stack: instead of referring to the apparent
location (where the *.app bundle is located) it points to the actual
executable file nested a couple folders down inside the package.
If you consistently use the AppPath function to concatenate filenames,
replacing it with these will correct for this undocumented change:
function AppPath
put the filename of this stack into tPath
set the itemdel to "/"
If (IsOSX()) then
get offset(".app/Contents/MacOS/", tPath)
if it > 0 then -- 2.4.3 or later
delete char it to len(tPath) of tPath
end if
end if
delete last item of tPath
return tPath &"/"
end AppPath
function IsOSX
if the platform is not "MacOS" then return false
get the systemversion
set the itemdel to "."
if item 1 of it >= 10 then return true
return false
end IsOSX
If your paths are handled by any other means you may need to duble check
your code.
The initial value of the directory global property remains unchanged from
previous versions, but as noted in earlier posts relying on that is less
convenient during development since you'll likely not want to keep all of
your work files in the same folder as the MC application.
--
Richard Gaskin
Fourth World Media Corporation
Custom Software and Web Development for All Major Platforms
Developer of WebMerge 2.0: Publish any database on any site
___________________________________________________________
Ambassador at FourthWorld.com http://www.FourthWorld.com
Tel: 323-225-3717 AIM: FourthWorldInc
More information about the metacard
mailing list