Path: utzoo!attcan!uunet!lll-winken!ames!mailrus!csd4.milw.wisc.edu!bbn!apple!dan From: dan@Apple.COM (Dan Allen) Newsgroups: comp.sys.mac.hypercard Subject: Re: Find in bkg field id <#> Message-ID: <24875@apple.Apple.COM> Date: 27 Jan 89 16:50:51 GMT References: <17813@vax5.CIT.CORNELL.EDU> Organization: Apple Computer Inc, Cupertino, CA Lines: 24 In article <17813@vax5.CIT.CORNELL.EDU> olson@helios.tn.cornell.edu writes: >When you have a stack with multiple backrounds it appears to be >impossible to limit a find to a particular field on a particular backround. > >HC (1.2.1) appears to convert what ever specifier you give to >the NUMBER of the backround field >and then look for that number on all backrounds. Todd, here is your official (sad but true) answer: You are RIGHT. At the start of a find command HyperCard converts a field name to a field number, based on the current background and card. That number is then used throughout the stack. It is true that this behavior makes things problematic if field "foo" on background one is field 1 and field "foo" on background two is field 2. However, doing it otherwise would make find quite a bit slower, as find would have to re-evaluate this name->number mapping on each card. A LOT SLOWER. We (Bill) decided that it was best to do it this way and so what we should do is document this behavior better so that stack designers can number their fields in a consistent order. Thanks for the input. Dan Allen Apple Computer