Artifact ff1939cd0e185d29156fa63044ae05f4b91e4368:
Wiki page
[
Doc: Tcl_OOInitStubs] by
dkf
2016-09-17 13:57:11.
0000: 44 20 32 30 31 36 2d 30 39 2d 31 37 54 31 33 3a D 2016-09-17T13:
0010: 35 37 3a 31 31 2e 38 34 31 0a 4c 20 44 6f 63 3a 57:11.841.L Doc:
0020: 5c 73 54 63 6c 5f 4f 4f 49 6e 69 74 53 74 75 62 \sTcl_OOInitStub
0030: 73 0a 4e 20 74 65 78 74 2f 78 2d 6d 61 72 6b 64 s.N text/x-markd
0040: 6f 77 6e 0a 50 20 63 32 33 64 39 32 63 39 63 34 own.P c23d92c9c4
0050: 34 66 31 64 31 34 38 35 37 32 63 38 31 62 35 33 4f1d148572c81b53
0060: 65 36 30 32 32 35 63 64 34 61 63 32 35 66 0a 55 e60225cd4ac25f.U
0070: 20 64 6b 66 0a 57 20 31 38 30 32 0a 3c 68 31 3e dkf.W 1802.<h1>
0080: 54 63 6c 5c 5f 4f 4f 49 6e 69 74 53 74 75 62 73 Tcl\_OOInitStubs
0090: 3c 2f 68 31 3e 0d 0a 3c 48 33 3e 3c 41 20 4e 41 </h1>..<H3><A NA
00a0: 4d 45 3d 22 4d 32 22 3e 4e 41 4d 45 3c 2f 41 3e ME="M2">NAME</A>
00b0: 3c 2f 48 33 3e 0d 0a 3c 62 3e 54 63 6c 5c 5f 4f </H3>..<b>Tcl\_O
00c0: 4f 49 6e 69 74 53 74 75 62 73 3c 2f 62 3e 20 26 OInitStubs</b> &
00d0: 6d 64 61 73 68 3b 20 69 6e 69 74 69 61 6c 69 7a mdash; initializ
00e0: 65 20 6c 69 62 72 61 72 79 20 61 63 63 65 73 73 e library access
00f0: 20 74 6f 20 54 63 6c 4f 4f 20 66 75 6e 63 74 69 to TclOO functi
0100: 6f 6e 61 6c 69 74 79 0d 0a 3c 48 33 3e 3c 41 20 onality..<H3><A
0110: 4e 41 4d 45 3d 22 4d 33 22 3e 53 59 4e 4f 50 53 NAME="M3">SYNOPS
0120: 49 53 3c 2f 41 3e 3c 2f 48 33 3e 0d 0a 3c 70 72 IS</A></H3>..<pr
0130: 65 3e 0d 0a 3c 42 3e 23 69 6e 63 6c 75 64 65 20 e>..<B>#include
0140: 26 6c 74 3b 74 63 6c 4f 4f 2e 68 26 67 74 3b 3c <tclOO.h><
0150: 2f 42 3e 3c 42 52 3e 0d 0a 63 6f 6e 73 74 20 63 /B><BR>..const c
0160: 68 61 72 20 5c 2a 3c 42 3e 54 63 6c 5c 5f 4f 4f har \*<B>Tcl\_OO
0170: 49 6e 69 74 53 74 75 62 73 3c 2f 42 3e 28 3c 49 InitStubs</B>(<I
0180: 3e 69 6e 74 65 72 70 3c 2f 49 3e 29 0d 0a 3c 2f >interp</I>)..</
0190: 70 72 65 3e 0d 0a 3c 48 33 3e 3c 41 20 4e 41 4d pre>..<H3><A NAM
01a0: 45 3d 22 4d 34 22 3e 41 52 47 55 4d 45 4e 54 53 E="M4">ARGUMENTS
01b0: 3c 2f 41 3e 3c 2f 48 33 3e 0d 0a 3c 44 4c 20 63 </A></H3>..<DL c
01c0: 6c 61 73 73 3d 22 61 72 67 75 6d 65 6e 74 73 22 lass="arguments"
01d0: 3e 0d 0a 3c 44 54 3e 54 63 6c 5c 5f 49 6e 74 65 >..<DT>Tcl\_Inte
01e0: 72 70 20 3c 42 3e 5c 2a 69 6e 74 65 72 70 3c 2f rp <B>\*interp</
01f0: 42 3e 20 28 69 6e 29 3c 44 44 3e 0d 0a 54 68 65 B> (in)<DD>..The
0200: 20 54 63 6c 20 69 6e 74 65 72 70 72 65 74 65 72 Tcl interpreter
0210: 20 74 68 61 74 20 74 68 65 20 54 63 6c 4f 4f 20 that the TclOO
0220: 41 50 49 20 69 73 20 69 6e 74 65 67 72 61 74 65 API is integrate
0230: 64 20 77 69 74 68 20 61 6e 64 20 77 68 6f 73 65 d with and whose
0240: 20 43 0d 0a 69 6e 74 65 72 66 61 63 65 20 69 73 C..interface is
0250: 20 67 6f 69 6e 67 20 74 6f 20 62 65 20 75 73 65 going to be use
0260: 64 2e 0d 0a 3c 50 3e 3c 2f 44 4c 3e 0d 0a 3c 48 d...<P></DL>..<H
0270: 33 3e 3c 41 20 4e 41 4d 45 3d 22 4d 35 22 3e 44 3><A NAME="M5">D
0280: 45 53 43 52 49 50 54 49 4f 4e 3c 2f 41 3e 3c 2f ESCRIPTION</A></
0290: 48 33 3e 0d 0a 57 68 65 6e 20 61 6e 20 65 78 74 H3>..When an ext
02a0: 65 6e 73 69 6f 6e 20 6c 69 62 72 61 72 79 20 69 ension library i
02b0: 73 20 67 6f 69 6e 67 20 74 6f 20 75 73 65 20 74 s going to use t
02c0: 68 65 20 43 20 69 6e 74 65 72 66 61 63 65 20 65 he C interface e
02d0: 78 70 6f 73 65 64 20 62 79 20 54 63 6c 4f 4f 2c xposed by TclOO,
02e0: 20 69 74 0d 0a 73 68 6f 75 6c 64 20 75 73 65 20 it..should use
02f0: 3c 42 3e 54 63 6c 5c 5f 4f 4f 49 6e 69 74 53 74 <B>Tcl\_OOInitSt
0300: 75 62 73 3c 2f 42 3e 20 74 6f 20 69 6e 69 74 69 ubs</B> to initi
0310: 61 6c 69 7a 65 20 69 74 73 20 61 63 63 65 73 73 alize its access
0320: 20 74 6f 20 74 68 61 74 20 69 6e 74 65 72 66 61 to that interfa
0330: 63 65 0d 0a 66 72 6f 6d 20 77 69 74 68 69 6e 20 ce..from within
0340: 69 74 73 20 3c 49 3e 5c 2a 3c 2f 49 3e 3c 42 3e its <I>\*</I><B>
0350: 5c 5f 49 6e 69 74 3c 2f 42 3e 20 28 6f 72 20 3c \_Init</B> (or <
0360: 49 3e 5c 2a 3c 2f 49 3e 3c 42 3e 5c 5f 53 61 66 I>\*</I><B>\_Saf
0370: 65 49 6e 69 74 3c 2f 42 3e 29 20 66 75 6e 63 74 eInit</B>) funct
0380: 69 6f 6e 2c 20 70 61 73 73 69 6e 67 20 69 6e 0d ion, passing in.
0390: 0a 74 68 65 20 3c 49 3e 69 6e 74 65 72 70 3c 2f .the <I>interp</
03a0: 49 3e 20 74 68 61 74 20 77 61 73 20 70 61 73 73 I> that was pass
03b0: 65 64 20 69 6e 74 6f 20 74 68 61 74 20 72 6f 75 ed into that rou
03c0: 74 69 6e 65 20 61 73 20 63 6f 6e 74 65 78 74 2e tine as context.
03d0: 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 0d 0a If the result..
03e0: 6f 66 20 63 61 6c 6c 69 6e 67 20 3c 42 3e 54 63 of calling <B>Tc
03f0: 6c 5c 5f 4f 4f 49 6e 69 74 53 74 75 62 73 3c 2f l\_OOInitStubs</
0400: 42 3e 20 69 73 20 4e 55 4c 4c 2c 20 74 68 65 20 B> is NULL, the
0410: 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 initialization f
0420: 61 69 6c 65 64 20 61 6e 64 20 61 6e 0d 0a 65 72 ailed and an..er
0430: 72 6f 72 20 6d 65 73 73 61 67 65 20 77 69 6c 6c ror message will
0440: 20 68 61 76 65 20 62 65 65 6e 20 6c 65 66 74 20 have been left
0450: 69 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 in the interpret
0460: 65 72 27 73 20 72 65 73 75 6c 74 2e 20 4f 74 68 er's result. Oth
0470: 65 72 77 69 73 65 2c 20 74 68 65 0d 0a 69 6e 69 erwise, the..ini
0480: 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 75 63 63 tialization succ
0490: 65 65 64 65 64 20 61 6e 64 20 74 68 65 20 54 63 eeded and the Tc
04a0: 6c 4f 4f 20 41 50 49 20 6d 61 79 20 74 68 65 72 lOO API may ther
04b0: 65 61 66 74 65 72 20 62 65 20 75 73 65 64 3b 20 eafter be used;
04c0: 74 68 65 0d 0a 76 65 72 73 69 6f 6e 20 6f 66 20 the..version of
04d0: 74 68 65 20 54 63 6c 4f 4f 20 41 50 49 20 69 73 the TclOO API is
04e0: 20 72 65 74 75 72 6e 65 64 2e 0d 0a 3c 50 3e 0d returned...<P>.
04f0: 0a 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 .When using this
0500: 20 66 75 6e 63 74 69 6f 6e 2c 20 65 69 74 68 65 function, eithe
0510: 72 20 74 68 65 20 43 20 23 64 65 66 69 6e 65 20 r the C #define
0520: 73 79 6d 62 6f 6c 20 3c 42 3e 55 53 45 5c 5f 54 symbol <B>USE\_T
0530: 43 4c 4f 4f 5c 5f 53 54 55 42 53 3c 2f 42 3e 0d CLOO\_STUBS</B>.
0540: 0a 73 68 6f 75 6c 64 20 62 65 20 64 65 66 69 6e .should be defin
0550: 65 64 20 61 6e 64 20 79 6f 75 72 20 6c 69 62 72 ed and your libr
0560: 61 72 79 20 63 6f 64 65 20 6c 69 6e 6b 65 64 20 ary code linked
0570: 61 67 61 69 6e 73 74 20 74 68 65 20 54 63 6c 20 against the Tcl
0580: 73 74 75 62 20 6c 69 62 72 61 72 79 2c 0d 0a 6f stub library,..o
0590: 72 20 74 68 61 74 20 23 64 65 66 69 6e 65 20 73 r that #define s
05a0: 79 6d 62 6f 6c 20 73 68 6f 75 6c 64 20 3c 49 3e ymbol should <I>
05b0: 6e 6f 74 3c 2f 49 3e 20 62 65 20 64 65 66 69 6e not</I> be defin
05c0: 65 64 20 61 6e 64 20 79 6f 75 72 20 6c 69 62 72 ed and your libr
05d0: 61 72 79 20 63 6f 64 65 0d 0a 6c 69 6e 6b 65 64 ary code..linked
05e0: 20 61 67 61 69 6e 73 74 20 74 68 65 20 54 63 6c against the Tcl
05f0: 20 6d 61 69 6e 20 6c 69 62 72 61 72 79 20 64 69 main library di
0600: 72 65 63 74 6c 79 2e 0d 0a 3c 48 33 3e 3c 41 20 rectly...<H3><A
0610: 4e 41 4d 45 3d 22 4d 36 22 3e 42 41 43 4b 57 41 NAME="M6">BACKWA
0620: 52 44 20 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 RD COMPATIBILITY
0630: 20 4e 4f 54 45 3c 2f 41 3e 3c 2f 48 33 3e 0d 0a NOTE</A></H3>..
0640: 49 66 20 79 6f 75 20 61 72 65 20 6c 69 6e 6b 69 If you are linki
0650: 6e 67 20 61 67 61 69 6e 73 74 20 74 68 65 20 54 ng against the T
0660: 63 6c 20 38 2e 35 20 66 6f 72 77 61 72 64 20 63 cl 8.5 forward c
0670: 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 70 61 63 ompatibility pac
0680: 6b 61 67 65 20 66 6f 72 0d 0a 54 63 6c 4f 4f 2c kage for..TclOO,
0690: 20 3c 49 3e 6f 6e 6c 79 3c 2f 49 3e 20 74 68 65 <I>only</I> the
06a0: 20 73 74 75 62 2d 65 6e 61 62 6c 65 64 20 63 6f stub-enabled co
06b0: 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 73 nfiguration is s
06c0: 75 70 70 6f 72 74 65 64 20 61 6e 64 20 79 6f 75 upported and you
06d0: 20 73 68 6f 75 6c 64 0d 0a 61 6c 73 6f 20 6c 69 should..also li
06e0: 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20 54 nk against the T
06f0: 63 6c 4f 4f 20 69 6e 64 65 70 65 6e 64 65 6e 74 clOO independent
0700: 20 73 74 75 62 20 6c 69 62 72 61 72 79 3b 20 74 stub library; t
0710: 68 61 74 20 6c 69 62 72 61 72 79 20 69 73 20 61 hat library is a
0720: 6e 0d 0a 69 6e 74 65 67 72 61 74 65 64 20 70 61 n..integrated pa
0730: 72 74 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 54 rt of the main T
0740: 63 6c 20 73 74 75 62 20 6c 69 62 72 61 72 79 20 cl stub library
0750: 69 6e 20 54 63 6c 20 38 2e 36 2e 0d 0a 3c 48 33 in Tcl 8.6...<H3
0760: 3e 3c 41 20 4e 41 4d 45 3d 22 4d 37 22 3e 4b 45 ><A NAME="M7">KE
0770: 59 57 4f 52 44 53 3c 2f 41 3e 3c 2f 48 33 3e 0d YWORDS</A></H3>.
0780: 0a 73 74 75 62 73 0a 5a 20 30 65 30 32 33 33 32 .stubs.Z 0e02332
0790: 36 39 31 64 33 66 61 30 66 33 64 35 61 66 34 34 691d3fa0f3d5af44
07a0: 36 36 66 36 35 64 30 61 32 0a 66f65d0a2.