Path: utzoo!attcan!uunet!samsung!usc!wuarchive!julius.cs.uiuc.edu!apple!bc From: bc@Apple.COM (bill coderre) Newsgroups: comp.sys.mac.hypercard Subject: Re: messages to other stacks Message-ID: <44723@apple.Apple.COM> Date: 12 Sep 90 10:46:44 GMT References: Distribution: na Organization: Private consultant with a passion for support Lines: 37 Dan Weise: |I've never used hypertalk before, and am trying to build what |will end up being a very large application (5000 cards). Therefore, |I want to break it up into many different stacks. The problem is |that I can't figure out how to send a message with parameters to |a card not in the current stack. First off, please remember that Hypercard is wonderful at managing "medium size" stacks like the one you're writing. There's no reason -- from Hypercard's point of view -- to split up the stack. But, if you have your reasons, you will be disappointed to know that what you want to do is not built-in-supported in Hypertalk. You'll have to write a handler to lock the screen, go to the right spot, send the message, get the result, and return. You'll also have to worry about making sure the other stack is initialized correctly and that the calling stack can handle the burden of being closed and reopened. In other words, it ain't easy, and that's the way it is. Hypercard 2.0 won't solve all your problems for you, but it does provide some help in the form of the "start using" command. That command adds the stack scripts and XCMDs/XFCNs of the given stack to the message routing, between the current stack and the home stack. One way I use it is to say "start using groupies" when I need Sioux Atkinson's k00l object grouping routines. You might use it to build libraries of insanely great handlers that you can invoke with NO recoding, overhead, or hassle. Just turn 'em on like a faucet. Please note that there are two ways of sending a message: either by simply writing it as a handler or function handler invocation, or by using the "send" command. The former method allows arguments to be passed and values to be returned, whereas the latter does not. The only real difference is that the first method always sends the message to "me," whereas the latter allows you to specify the object of your fondest desire, as it were. bill coderre a private consultant, not licensed to voice official apple opinion.