home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / lang / tcl / 1770 < prev    next >
Encoding:
Internet Message Format  |  1992-11-09  |  3.5 KB

  1. Path: sparky!uunet!sun-barr!ames!saimiri.primate.wisc.edu!sdd.hp.com!spool.mu.edu!sol.ctr.columbia.edu!ira.uka.de!math.fu-berlin.de!mailgzrz.TU-Berlin.DE!mailgzrz.tu-berlin.de!garfield
  2. From: garfield@cs.tu-berlin.de (Sven Delmas)
  3. Newsgroups: comp.lang.tcl
  4. Subject: Re: xf tk/tcl -- need help on general usage
  5. Date: 9 Nov 1992 12:57:41 GMT
  6. Organization: Techn. Univ. Berlin (Germany)
  7. Lines: 64
  8. Message-ID: <GARFIELD.92Nov9135740@desaster.cs.tu-berlin.de>
  9. References: <1992Nov8.191408.3561@umr.edu>
  10. NNTP-Posting-Host: desaster.cs.tu-berlin.de
  11. In-reply-to: quandt@mcs213e.cs.umr.edu's message of 8 Nov 92 19:14:08 GMT
  12. To: 
  13.  
  14. In article <1992Nov8.191408.3561@umr.edu> quandt@mcs213e.cs.umr.edu (Brian Quandt) writes:
  15.  
  16.    I'm trying to figure out the general theory in use for
  17.    xf, tk and tcl.
  18.  
  19.    Having read the papers on tk and tcl and most of the FAQ's I still
  20.    don't quite understand.
  21.  
  22.    This is what I so far envision:
  23.        Create a GUI using xf in conjunction with tk/tcl.  
  24.  
  25.        Then build the application the normal way.  That is, I build up
  26.    everything that is not the GUI (e.g., database routines, math
  27.    functions, etc) using C and compile the code into an executable.  
  28. Tcl/Tk is an embeddable extension language. This means it is part of
  29. your application (binary). The only way to not include Tcl/Tk would be
  30. to use a non Tcl/Tk comunication facility (like TCP) to implement an
  31. abstract protocol for the communication between the GUI (Tcl/Tk) and a
  32. application not containing Tcl/Tk.
  33.  
  34.    Now how do I get the binary to communicate with the GUI?  
  35. The usual way to "communicate" is that the c-functions are implemented
  36. as part of the Tcl/Tk interpreter (wish). This means you create a Tcl
  37. interpreter (binray) that contains your additional c-functions in
  38. a way that they can be called from the Tcl-script (Tcl_CreateCommand).
  39. It is also possible to call Tcl-code from your c-functions, giving you
  40. full access to Tcl/Tk (Tcl_Eval).
  41.  
  42.    Since xf (and tcl) is a script file this runs in a shell (interpreted 
  43.    environment).  I just don't follow the basic concept of how 
  44.    to get 2-way communication between the script GUI and the binary
  45.    application.  I understand that I could write the GUI using 
  46.    embedded tk (in C).  But this loses many of the advantages that
  47.    a seperate GUI and application can provide, not to mention the
  48.    advantages of building a GUI in a interpreted environment.  In
  49.    the tk paper the author talked about the 'send' command as the
  50.    means to communicate.  I don't see how to establish a communication
  51.    to the application code.   I see how a link could be made to another
  52.    tk/tcl script, but not a binary. Finally, once I figure out the
  53.    basic concept of how to communicate I'm wondering about sending
  54.    large amounts of data via whatever the mechanism is used to
  55.    communicate. For example, say that I have a GUI that calls up
  56.    images stored in a database.  How should I 'pass' this information
  57.    from the appliatino (c code) to the GUI?
  58. Passing binary data via 'send' may lead into trouble. The passed data
  59. must follow the Tcl syntax, because the data you send is interpreted
  60. by Tcl. In that case I would suggest not to separate GUI and
  61. c-functions (GUI independant code), or to use a different
  62. communication facility (like TCP).
  63.  
  64.  
  65.                            Thanks in advance
  66.                            Brian Quandt
  67.  
  68. Sven
  69. --
  70. garfield@cs.tu-berlin.de
  71. --
  72. ----
  73.   Sven Delmas (Techn. Univ. Berlin)
  74.     garfield@cs.tu-berlin.de
  75. ----
  76.   For every problem there is a solution which is simple, clean and wrong.
  77.                                                   Henry Louis Mencken
  78.