Ejemplo n.º 1
0
        internal TclCmdDeleteProcWrapper(TclInterp interp, TclCmdDeleteProc proc, Object deletee)
        {
            _interp = interp;
            _proc   = proc;
            unsafe { _callback = new Tcl_CmdDeleteProc(this.CallbackProc); }
            _deletee = deletee;

            _interp.AddKeepAlive(this);
            _interp.AddKeepAlive(_deletee);
        }
Ejemplo n.º 2
0
        public TclCmdToken CreateCommand(string cmdName, TclCmdProc proc, TclCmdDeleteProc deleteProc)
        {
            TclCmdToken token;

            TclCmdProcWrapper       cmdWrapper    = new TclCmdProcWrapper(this, proc);
            TclCmdDeleteProcWrapper deleteWrapper = new TclCmdDeleteProcWrapper(this, deleteProc, cmdWrapper);

            unsafe {
                token._token = TclNative.Tcl_CreateCommand(_interp, cmdName, cmdWrapper.Callback,
                                                           IntPtr.Zero, deleteWrapper.Callback);
            }

            return(token);
        }
 internal TclCmdDeleteProcWrapper(TclInterp interp, TclCmdDeleteProc proc, Object deletee) {
     _interp = interp;
     _proc = proc;
     unsafe { _callback = new Tcl_CmdDeleteProc(this.CallbackProc); }
     _deletee = deletee;
     
     _interp.AddKeepAlive(this);
     _interp.AddKeepAlive(_deletee);
 }
Ejemplo n.º 4
0
Archivo: tk.cs Proyecto: ArildF/masters
 public TclCmdToken CreateCommand(string cmdName, TclCmdProc proc, TclCmdDeleteProc deleteProc) {
     TclCmdToken token;
     
     TclCmdProcWrapper cmdWrapper = new TclCmdProcWrapper(this, proc);
     TclCmdDeleteProcWrapper deleteWrapper = new TclCmdDeleteProcWrapper(this, deleteProc, cmdWrapper);
 
     unsafe {
         token._token = TclNative.Tcl_CreateCommand(_interp, cmdName, cmdWrapper.Callback, 
             IntPtr.Zero, deleteWrapper.Callback);
     }
     
     return token;
 }