[mod.mac.binaries] Macintosh Technical Notes - #78: Resource Manager Tips

Michael.Fryd@A.CS.CMU.EDU (X435MF0E) (09/08/86)

[Macintosh Technical Notes - #78: Resource Manager Tips]

---
(This file must be converted with BinHex 4.0)

:%&410cJJ8Q9cEh9bBf90Ch)!9dp54%e"3d%!N!3CH!!!!c["'`!'!&)!!J!%!*!
$r`$r!*!$!3!!$qi!Z!#i!!!2lJ#i!,J!!!rZ!,J!!J#3!dJ!5!#3"!,B!LMri2r
L![J#4J-("5J$r!!#!*!$5!")!*!%!YJ#+!!"!*!$C!#3!`%!!C!$!*!$!5F2!!%
!!3!"iEi!!H*'rrm!N!8C!C!!!*!K!`#3!`-!N!8"!!!0r!"!!!!+[!!1!!`!l[r
b!)hrmJ&'rj!%!2q3"3!"!*!$!3#3"3%!!!r1!#!!!!9X!!ErmJ!Hrr)!l2rb!EV
rN!B-!!!$!!)!N!-#!*!&!3!!&&J&)!!!%aB"3[rb!"lrmJ$Xrr)"Z[q3"3!1!3!
9!!$NQ4p!!!S"l`!#!*!$#J$5rL!"l`([CA)JDA-JC(*KCfGTEL!JG!!"$@8!"J!
!#J!!&3!EmMmhmimk$e)BAh9-%26@0[Ca329(k2$3!!B!!!i!!"8!!3d'!!B!!!`
!!"8!N!-'!!!+!3!9!")*EAP)1L"S9fKTBfK'D@aP1`d!"J!!#J!!&JS"!"8!#J(
J!!%!N!-+!@J'J!#3&`B!!!`!!!-!#J(P!`3!N!-+!#J!H!&!!EJ"j3(PEL"TFb"
KEQ&XEfG[!'"IN&m0!!B!!!N!!"8!1I#I3CRe)BAh9-(bLf1D(bMfhhRdMbRbcbI
dEdrdm2*r,2-2+I1r#IHrE@pV%()'""KIG8`III$3!!B!!!S!!"BB%3!A!!%0C3!
'!!!1!!!@!"A`R`Re5a$ddIE96hN26@0[Ca6`d!!'!!!1!!!9!"8!!3hr!!B!!!i
!!"8!!3d!!!B!!!i&!"8!!3d"!!B!!!i&!"8!!3d"!!B!!!`!!"8!!3d*!!B!!!i
!!"8!+I9dFL%`pLpjmkm*p+Ifd24NFCTMN8m*p+pe-3mimX$c(cRcMcE`d!!!"J!
!$J!!&3"JAj"I$3!'!!!*!!!9!!%0!!!'!!!1!!!9!$RcEbN2Gl%`pjAh8'33P6%
-DUFrC`p(%[642hAb`%'#9"$e)Bp&428%A2$3!!!H!!!-!!!9!"d-!!!@!#3-!!!
9!#i-!!!@!$N1"3!9!"8!B&q3A`d!"J!!#3!!&3!"$3!!"J!!$J!!&3!3p2i6p5'
24RS3p#pepRm0!!!'!!!1"3!9!!%0*J!'!!!-!!!9!"AcAbN-DU$dF5p0%rGI,!B
jm0!!%J!!$!!!&3!)$!!!&J!2$!!!&3#'mdmT$,(2D`*3J4"p$hPIG3pR%JB$HJY
MQK$f*XpVmX"p$hPIG3PI,!pjAh8-B`YMQK!V%"4&3(-2GlBKpf&!phEhN!"i"Zj
&j(BK$932H9pe3'lUI'*e2`d!"J!!$!!!&3!$Eh)0)!!'!!!-!!!9!!r`R`Rh[93
28'M'Vhh`d!!'!!!+!!!@!!%0!3!'!!!-!!!9!*!$!4!3!!%0"J!'!!!1"3!9!!%
0!!!'!!!+!!!@!!%0!!!'!!!+!!!@!!%0@3!'!!!+!!!@!!%0!3!'!!!-!!!9!!%
0)!!'!!!-!!!9!!%0#J!'!!!-!!!9!#J"j3!(!*!$+!"3!(J!S!$)!2!"3!'i!H8
"j@jKE'pRE`(P!H9ZB@a[Cfm!"94C8%80!!!'!!!+!!!@!"6`RhHhbr4RS3mpm*p
5(&5I$3!!"J!!#J!!&J!C#C!%EAP'D@aP9(P`C6SJE'pZCfPZG$X0!!!'!!!+!!!
@!")*N!4ZB@eP1L"6G()b068l$3!'!!!+!!!@!"6c,bN-S@328KMd9%p34Fm0!!`
!!!`!!"8!#3`!!"B+!!!@!"V`R[9lI,p'HK$ch`RelhHhbr4RSI1r$3!!"J!!#J!
!&J!Em*[eHhbr4RS3mp$el[9lI,p'HKmlm0!!!!B!!!S!!"B!"&C"8Jd!"J!!#J!
!&J!'#3NZN!-0!!B!!!S!!"B!"`P#C@GTEJd5!!B!!!S!!"B!"3NZN!-0&J!'!!!
+!!!@$3`!"J!!#J!!&J!"$3%!"J!!#J!!&J!'3Q9RD@i0!!B!!!S!!"B!"3NZN!-
0!!!'!!!+!!!@!"r`RhYUTFBK""TFBQpLS3Af,fSF,hh`d!!!"J!!#J!!&J!a#8e
j5$Sp)'KAD'PMD%CTE'8S6Q9h5'&ZC'aP+&0THQ92CLKhD'PMD%CTE'8TN!-l$3d
!"J!!#J!!&J!jm*p)p-A2Dr+,BjSI+2EIHI52+I+I1`m*plp2i6p5'0HK$'--Eh@
"""TFBR8rII$3!!B!!!S!!"B!"J!!#J!!&J!qmcmT#9"Jp(%[8KKIG8`3aUS&-#X
3p0p&p1p9""KIG8`3pjAh82Gf-J*3pR%[$3!5!!!-!!!9!!J-!!!@!"--!!!9!!S
"j3-&!*!$#J!S!&!!H!&!!EJ"j3(PDA-JB@jKE'pRE`!!#J!!&J!bmamT!)EhB3+
a"TP"L!A3pjAh9!p5'2486e"&`14F'IG8(`d!!")!!!`!!"8!(3`!!"B!*``!!"8
!!3e)!!B!!!S!!"B!!!`!!"8!&r4a,dd6pe"MN!$e)Bp&428%A2$3!!!'!!!1"3!
9!$Re3FXhaU$dj5%2)r0r12#HEfF3!*!$A3mbm*p5'&pe6"$deMEfF8$e4qM`d!!
'!!!+!!!9!"Ee5a$hG8pVC&pe13H!*I1[$3!!"J!!$!!!&3!"#J!!&J!"$@%!"J!
!$J8!&3!@!"2`R`Re5a$dd6pe$deMEfF8m0!!"J!!$J!!&3!9!"re-4"UKI1[#I9
,%28KKIG8`3p0BfpR&2$3!!!'!!!1!!!9!"8!"`P$6dj69!d*!!B!!!S!!"B!&3!
Rp6%[8KMd%L5!8`3@Rbe6VhN%'&pe6"$feZM`d!!'!!!1"3!9!"J*5&9Z6'pMDbK
SB@jNE'8SEAP)+5Nl#3d!"J!!#J!!&J!"$3%!"J!!$!!!&3!$#3N0$!!'!!!+!!!
@!"A`P"Me)Gp1pepYmk"c)ICa6c[`d!!'!!!+!!!@$!!!&3"5p88'pf9j!VH!j&p
LSIEI,!pYD2D`AG!V%,IfH`pLpj)3A3+a$PFb&!phFV#&pY%VFrC`TrDamkm0!!!
'!!!-!!!9m0!!"J!!#J!!&J!C#C!$4@jN1`Pl9&P345"hD'PMD%CTE'9p$4B!"J!
!#J!!&J!Nm*pl+hJ2GhUJa'L`F`p5(&pf&25'1D(hh`d!"J!!#J!!&J!R#A*PFe*
PCNjeE6Sp)%p`C@j5CA0'D@aP+'ej5&jH,QjKE@8T1b!0!!!'!!!+!!!@!*!$!3`
-!!%-$!!"$!`!jr8a,e)Bp")NJ*8B!e)%%[G8-'-"4&3(d2H9pe"N%)%LFrC`+a"
"KIG8`3BL4rB[G5'!A3B%'&pe6""c"J3BAh9-%0HK!VBJYS"J3@Rbe6VhN!""KIG
8`3pYE[,J$e5a$hG8pVC&pe13!(J#8-XFpV!P#"%(d#X3pYEJH!3@Rbe6VhN'13j
&`4N04IE3+a3I1[$3!!`!!!`!!"B!#``!!"8!&3!km*m*p*d23R,e5#mSp!BL52,
26@le,drd*bmT!V%`mZmZmZplph4b(bhN8K`KN!$feZpp!!B!!!S!!"B!)r#I#@)
NMcVcd24a,e)Bp'HKp")NMbK"hdlhAfhbRc[`d!!!"J!!#J!!&J",#9*PFe*PCNj
eE6Sp)%p`C@j5CA0'D@aP+&0dFQPZCe"dFLK#DA4"EQ3SEh*N0#K!EAP)APiZEQ&
YC5NX*$!`4T!'+5PH+6X0!!!-!!!-!!!9!!%+!!!@!"ldeXFb@,$e3FXhaU$dj5'
2#I#3!2m2$3!B!!!1!3!9!"N1"3!9!"X1!3!9!"`B%3!A+1)J!!(B!!SM!3!@!%F
*8Q9c8Q9Q6R9Y)$dJ6h"PEP*PFdCTE'8S+'a[EQFT+#SU6AP)+5jZB@eP)#BJ-(J
`-%D3"LNl)#mU)'C[FL"$)#S[$3!!$!!!$!!!&3!"#J!!&J"Fm*p0pjp)pHpHmZ0
[E4mkmp$bIeGLb`pY%*FI*r1`pljA-K3#826IHI52A[A[,MEfd3YS!V%2#I#I#I#
I#3#3"%'&pe6"$f*b#",hh`d!"J!!#J!!&J"%m*p0pjp)pHpHmZpYpjp'HKp8pji
I1[23maml$hZ&pY%VFrC`@CmX$hGkS2Ca-8BK"TP"L!&%92II$3!'!!!+!!!@!"B
!4[#I#I6@le,drd*b$cd2121`!!plp89DpLAhJ2BR)&544cpR$932BR)20`A3TIG
r,95432B[H5(hh`d!"J!!#J!!&J"Tp8Yi$e3FXhaU$dj5%*H-peL"J)Afd3pYFe3
14IBU(ff!phFV!V%28KKIG8`3p0BfpR&!Bj!!YIG`*3ph92D`C&pe13+apYmZm0!
!!!B!!!i!!"8!N!8#+#SJ!!%`!#)!N!--!*!$!LSm)!!"8J!-+J%!$!!-!!)V$#J
!#,)!0LS"!!`!'!!"&+3J!!'-!!SU!JS!!"B#1r8%AfG'pYpY&)$fhh@#!IH"6(J
3aN%2Gl%`aUTcpR$drK2e)Bp'HK$hGbX'$AS30[E4!VBJYS$f)4-&pL*R-C!!e&p
Y"J3BAh9-(bi!p8X3mfmdp,$e,drdd2GfJ1BXXC!!*3E-AfhfeCBK#&pY%&U43'l
UI'*e1!+f),D3!#4IGIBU%0FjFrC`+a$NFb#8IhB8Mbi!p8X3jLb`BL(fhLJ#8*%
K6fec%2Gl%V&!+a##4cpR$QL"N!"S"JjNEfd5&!*3p2i6p5'24RS3H!+a!fpY%&d
#X3j(-K32B[H3!(11(#FrC`+a#hpRX2BR+!A3+a$PFb&2,!A3phYmX2BR)203A3+
a#hpRX2B[H5%2GhUJpL%)%JI3+a$PFb&!H!B*&"d8%m'3!2E@JK319c)8"G"J3BA
h9-(bi242G4!P!VH!jLbr,!+a$9UPphFrC`aC%2GhUJa[GB%'$e2hQ#(fd24848$
c)2+'Q8')!848mTmkm0!!(J!!$!!!&3!X$!!!&J!h$!!!&3%U$!!!&J%e$!!!&3#
3"3)T!L!!!EB!)J#3!a!!N!-#+2iJ!!(B!!SM!3!!!E)!N!-%!!!#X!#3!`3!!!,
H!*!$!J!!"")!N!-#!!!&k!#3!`S!!!Cq!*!$"!!!"`B!N!-+!!!(e!#3!`J!!!K
#!*!$"J!!#)i!N!-'!!!*"!#3!`B!!!N@!*!$!J!!#63!N!-#!!!*@J#3!`)!!!P
Z!*!$!J!!#I!!N!-%!!!+1!#3!`S!!!YU!*!$!J!!$')!N!--!!!0BJ#3!`)!!!i
m!*!$"!!!%+B!N!-%!!!CH!"(B!!+!!!@!PRdR3pjAh9!EZTmBR8`pYEfXB$h@""
G$e)Bp&428%A!mSB19c)8!P"Jj&`Cpe33JP3C"c#PphmYpY(fe8pj$fHPpLDJmNp
"p'mbmT!!*3N5(#""KIG8`3&%9)mX$hPIG3phHU$fF5$h8apiiF)C$'US!P$hPIG
8$e)Bp&428%A!j&`Cpe33phX6$'UR2fF24a,dd6pe"6$c(c,cMdX28[6r6BmZ!29
,%2642h826@0[Ca3-DU$dF5p0%rG3pYEfXB"JaUS#824a,e)Bp*29mX""pape'#F
rC`3BAh9-%(296feLG6"[BPpe)26I424I4Jm`mZ!296e8,h8f)DpjmX$e,drdhde
Zp*1"3JH!J5!P$dEd(dce2dAb`)8#Yi$'UJeRU2,!J5*cpR$e)Bp&4!*3r3mamjm
b$bK"Mdj5p'Ah8jmTmZ!29,H!F`,h9$$hGkS-Eh@""JaUS#82H9pe328KMd9%p34
FmX$NA"Rh9"!IGK-#YIGICl!V%24a,dd6pe$'UJYS$hG8pV'3!-9%(#VhRbi!p8Y
i"i"6VhN'$NAf+KpY"p$hPIG3C"$h@(2fF28KMd9%p34FmZ$`d!!!VJ!!$!!!&3!
K$!!!&J!V$!!!&3"L$!!!&J"Q$!!!&3#T$!!!&J#c$!!!&3$,$!!!&J$5$!!!&3$
i$!!!&J$r$!!!&3%3$!!!&J%D$!!!&3&D$!!!&J&Q$!!!&3&a$!!!&J&f$!!!&3'
8$!!!&J'D$!!!&3'N$!!!&J'[$!!!&3(D$!!!&J(N$!!!&3)!$!!!&J)($!!!&3)
X$!%!&3)`$!!!&3*-$!!!&J*@$!!!&3#3!`%,#`!")b-!!3m2!!%2$`!"$`m!!3m
2!!%2$`!"$`m!!3m2!!%2$`!"#`X!!3m2!!)2JJ!"#`X!!3m2!!%2$`!"$`m!!Jk
(!*!$!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!
"$!`!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`-!!)-JJ!"$!`!!3`-!!%-$!!
"$!`!!3`-!*!$!3i1!!%1$J!"$Ji!!3i1!!%1$J!"$!`!!3i1!!%1$J!"$Ji!!3i
1!!%1$J!"$`m!!3i1!!)1L!!"$Ji!!3i1!!%1$J!"$Ji!!3i1!!)1JJ!"$Ji!!3i
1!!%2$`!"$`m!!3m2!!%2$`!#$S-!!3`-!!%-$!!"$!`!!3`-!!%-$!!"$!`!!3`
-!!%-$!!"$!`!N!8#+8!J!!(L!#)!N!-,!*!$!458)!!#"!"U+3%!)`!,!!)T$LJ
!$$!!-L`#!!m!,J!#+@JJ!!+d!!`F!3!2!$d!!LP)+!!"AJ!L,!%!$`"-!!)TF#!
!!Z!!$#`"!!m!@`!#+AJS!!Nf!#3X!3!2!'S!!LQ3!#J!!X!!(L`"!!m!H3!#+D!
S!!NB!"`X!3!2!)J!!LN')!!$%!!-,!%!$`#A!!)T#LJ!!a`!-L`"!!X!TJ!#+93
J!!01!'ST!3!2!,%!!LPN)!!$Z!!-,!%!(J$!!!)TG#J!$DJ!9#`"!!X!hJ!#+B3
J!!38!'ST!3!2!1N!!LQN)!!%IJ!-,!%!$`$i!!'G%#J!")S!'L`+!!m""`!#+E!
J!!N+!!`X#J"L!4B!!LQX+!!13!'1!`%!!!&i!!)T[!!!"FB!)LX"!!`"H!#3"J@
@!!`D!3!-!B3!N!B&mJ!3'J%!$!'3!!#3"!J!"J)!("S"!!`"R!#3"JBH!#3D!3!
-!DJ!N!B'3J!F'J%!$!'d!*!'#N)!*"S"!!`"`!#3"!J!"S)!)KS"!!`"c!#3"!J
!"U3!)KS"!!`"f!#3"J@+!!`D!3!-!H3!N!B'aJ!1'J%!$!(`!*!'!CB!("S"!!`
"r!#3"!J!#G)!(KS"!!`##!#3"JF3!!`D!3!-!K3!N!B((!!3'J%!$!)J!*!'"b`
!%"S"!!`#,!#3"!J!"c`!)KS"!!`#1!#3"JGH!$`D!3!-!N3!N!3)!!dH!%3D!3!
-!P!!N!3)!!*Z!%)D!3!B!P`!N!3)!!c'!&JD!3!-!R3!N!3)!!HD!$SD!3!-!S!
!N!B+LJ!b'J%!$!+-!*!%#!!+CJ!N'J%!$!+B!*!'#))!$"S"!!`#T!#3"JQ@!#)
D!3!!!V!!N!B))!!L+`%!$J+`!*!'"D)!$#X"!!i!$J%!N!8&ZJ!-+`%!$J!F!3#
3!`J!#I3!4#X"!!i!+J%!N!8&VJ!-+`%!$J!i!3#3"3[8!&`!!3!-!%B"!*!$#!!
&5!!B'J%!$J"5!3#3"3-%!!`V!3!1!'!"!*!&"6S!$LX"!!i!EJ%!N!8-EJ"B!!%
!$J"m!3#3"39J!!`V!3!1!)S"!*!&"+3!$#X"!!m!Q!%!N!-)!!L8!"iX#J!1!+F
"!*!&!B!!$#X"!(!!Y3%!N!-)!"#U!Q`$!!!1!58"!*!&#EJ!$#X"!!i"-`%!N!-
)!!MS!"`V!3!1!8%"!*!$#!!)5!!k!`%!$J&2!3#3!`J!"Pi!)!-"!!i"A3%!N!-
)!!IF!%3$!3!F!@X"!*!$#!!%f!"L+`%!$J'(!3#3!`J!",!!+!-"!!i"P3%!N!-
)!!2%!%i$!3!2!D-"!*!&!Z`!$#`+!!m"XJ%!N!8#q!!-,!S!$`("!3#3!`J!#A!
!*L`+!!m"d!%!N!8&FJ!-,!S!+J(I!3#3!`J!#XS!S!-"!!`##3%!N!8&IJ!-'J%
!$!)9!3#3"3PF!")D!3!-!L%"!*!$#!!0C!"%'J%!$!)Y!3#3"3R%!!iD!3!-!MN
"!*!&"[B!%"S"!!`#43%!N!8'j!!5'J%!$!*4!3#3"3E8!"!D!3!-!Pd"!*!$#!!
,U!!X'J%!$!*T!3#3!`J!#f`!2"S"``F!!!%!N!-#d3!!!G%!N!0U&Nmj%rBH&NN
!!2BH&NB3!2BH&NBS82BI)I%9SIBI)I%39%ih1#"5CA0[GA*MC8eRFQF#!*!$9dp
54%e"3d%"!*!$9dp54%e"3d%"!!"3!-"UR`!'qJS!!@I!!*!&!@KdQ`i!e`#3"J-
lp!$f&E&`!!$f&E*H!!$f&EK`!!$f&EKc!!$f&4G214$f&4G''`$f&4G'+&$f&4F
8N!!!pK8@*&!!pK8IV"P!pKAK4D%!pKAKpFN!pK8NN!!!!2B9Ma!!!2B9MaM$!2B
9B!#3!rB9BT4K!2B9BT4LA[B9BT4LKIB9BT4SF2B9CbU4!2B9!*!$)#iX1b3!!0!
!!#rrB#""63!J8%d!1J#3#J%!!!&-"P0eEQ4KH3#3#3C0EfjNBAN!N!N(9(9PFf4
KH3#3#!PAC@4ZCA0NBAN!N!B)9'KeFR0NBAN!N!F'4R*TC'&j!*!*#&0KG(9bC'&
j!*!("dTKER9KFRN!N!J)4Q9LFR9KFRN!N!F&6@&bBfJ!N!S&3A"bD@`!N!S$6@&
j!*!-"%TeEQ8!N!X%5R9XH3#3#`C"G@GeFh3!N!N*8f9`G'9YBQ9b!*!'"dpMG'p
LCA)!N!J)6QpfC@eLCA)!N!F)4'9MC@eLCA)!N!Irr`!$!*!%,#!!!#!!N!-X)!#
3"`&1G3#3!aJ!#`!A!"B!&3!8!*!$!`!#!!3!"3!'!!F!N!-3$b"PG'jbEf&TFf4
XD'0QF!#3!bN!$3!1!*!$&J!$!"8!"!!L!!)!&`!8!!8!%J!02J3rN!-&2Mme2`J
q2J!!!3#3!`,4!!!"d3#3!fS!!48N![)!N!-F!'S!!8P19%`!!3!58e45)!!#!#S
!!2rr)!#3#!(rrb!!!#3!N!3$)2rr!!!"G!#3"!+mrrm!!!'3!!#3"!-Krrm!!!'
N!!)T8$jc!:
---