Path: utzoo!dptcdc!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!hoptoad!tim From: tim@hoptoad.uucp (Tim Maroney) Newsgroups: comp.sys.mac.programmer Subject: Re: XFCN/XCMD string in LSC C v3.0 Message-ID: <7020@hoptoad.uucp> Date: 16 Apr 89 19:43:45 GMT References: <6944@hoptoad.uucp> <2784@pegasus.ATT.COM> <6995@hoptoad.uucp> <1567@Portia.Stanford.EDU> Reply-To: tim@hoptoad.UUCP (Tim Maroney) Organization: Eclectic Software, San Francisco Lines: 39 In article <1567@Portia.Stanford.EDU> duggie@Jessica.stanford.edu (Doug Felt) writes: >The problem with using the resource id of the XCMD/XFCN resource as >the key to a corresponding STR# (or other) resource is that generally >when you copy resources the resource id gets reassigned. Thus if you >distribute an XCMD in a stack with an "install" option you need an >installer XCMD that 1) lets you detect id conflicts and 2) lets you >assign ids explicitly. The most common installers don't, and I had to >write my own in order to handle this problem. Well, but, a "user" should never see an XCMD. It's a developer tool which is (or should be) only visible to the highest level of HC users, those who've clicked user level scripting. Once you get to that level, there shoudn't be any problem with instructing the developer to use ResEdit. You don't need to idiot-proof things by providing an HC installer. >I say go ahead and use embedded strings. Hypercard is not really >script-manager friendly, and many stacks do lots of string munging >that is not fully language-independent. When you get right down to >it, XCMDs are basically a hack. Lets not worry too hard about whether >we're following all the compatibility rules. Gag! Choke! The last sentence is too obviously screwy to bother refuting, but there is an interesting issue earlier on. You can be internationalizable without being Script Manager friendly -- there are really two levels of international portability. One is when you're compatible with other Indo-European languages that use one-byte-per-character alphabets and separate words using spaces; the other is where you're compatible with any language that can be crammed into the Script Manager. The claimed HC incompatibility with the Script Manager may be real, but on the other hand, HC *is* pretty Europe-friendly. Any developer who doesn't want to break this would be well advised to use separate strings. -- Tim Maroney, Consultant, Eclectic Software, sun!hoptoad!tim "Conversion, fastidious Goddess, loves blood better than brick, and feasts most subtly on the human will." - Virginia Woolf, "Mrs. Dalloway"