UpVar.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1994 The Regents of the University of California.
  3. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: UpVar.3,v 1.7 2002/08/05 03:24:39 dgp Exp $
  9. '" 
  10. .so man.macros
  11. .TH Tcl_UpVar 3 7.4 Tcl "Tcl Library Procedures"
  12. .BS
  13. .SH NAME
  14. Tcl_UpVar, Tcl_UpVar2 - link one variable to another
  15. .SH SYNOPSIS
  16. .nf
  17. fB#include <tcl.h>fR
  18. .sp
  19. int
  20. fBTcl_UpVar(fIinterp, frameName, sourceName, destName, flagsfB)fR
  21. .sp
  22. int
  23. fBTcl_UpVar2(fIinterp, frameName, name1, name2, destName, flagsfB)fR
  24. .SH ARGUMENTS
  25. .AS Tcl_VarTraceProc prevClientData
  26. .AP Tcl_Interp *interp in
  27. Interpreter containing variables;  also used for error reporting.
  28. .AP "CONST char" *frameName in
  29. Identifies the stack frame containing source variable.
  30. May have any of the forms accepted by
  31. the fBupvarfR command, such as fB#0fR or fB1fR.
  32. .AP "CONST char" *sourceName in
  33. Name of source variable, in the frame given by fIframeNamefR.
  34. May refer to a scalar variable or to an array variable with a
  35. parenthesized index.
  36. .AP "CONST char" *destName in
  37. Name of destination variable, which is to be linked to source
  38. variable so that references to fIdestNamefR
  39. refer to the other variable.  Must not currently exist except as
  40. an upvar-ed variable.
  41. .AP int flags in
  42. Either TCL_GLOBAL_ONLY or 0;  if non-zero, then fIdestNamefR is
  43. a global variable;  otherwise it is a local to the current procedure
  44. (or global if no procedure is active).
  45. .AP "CONST char" *name1 in
  46. First part of source variable's name (scalar name, or name of array
  47. without array index).
  48. .AP "CONST char" *name2 in
  49. If source variable is an element of an array, gives the index of the element.
  50. For scalar source variables, is NULL.
  51. .BE
  52. .SH DESCRIPTION
  53. .PP
  54. fBTcl_UpVarfR and fBTcl_UpVar2fR provide the same functionality
  55. as the fBupvarfR command:  they make a link from a source variable
  56. to a destination variable, so that references to the destination are
  57. passed transparently through to the source.
  58. The name of the source variable may be specified either as a single
  59. string such as fBxyxfR or fBa(24)fR (by calling fBTcl_UpVarfR)
  60. or in two parts where the array name has been separated from the
  61. element name (by calling fBTcl_UpVar2fR).
  62. The destination variable name is specified in a single string;  it
  63. may not be an array element.
  64. .PP
  65. Both procedures return either TCL_OK or TCL_ERROR, and they
  66. leave an error message in the interpreter's result if an error occurs.
  67. .PP
  68. As with the fBupvarfR command, the source variable need not exist;
  69. if it does exist, unsetting it later does not destroy the link.  The
  70. destination variable may exist at the time of the call, but if so
  71. it must exist as a linked variable.
  72. .SH KEYWORDS
  73. linked variable, upvar, variable