Пример #1
0
 public TclInterp() {
     unsafe {
         _interp = TclNative.Tcl_CreateInterp();
         if (_interp == null)
             throw new OutOfMemoryException();
     }
     _keepAlive = new Hashtable();
 }
Пример #2
0
        private unsafe int CallbackProc(Tcl_Interp *interp)
        {
            try {
                _proc(_interp);
            }
            catch (Exception) {
                return(TclNative.TCL_ERROR);
            }

            return(TclNative.TCL_OK);
        }
Пример #3
0
 public TclInterp()
 {
     unsafe {
         _interp = TclNative.Tcl_CreateInterp();
         if (_interp == null)
         {
             throw new OutOfMemoryException();
         }
     }
     _keepAlive = new Hashtable();
 }
Пример #4
0
        private unsafe int CallbackProc(IntPtr clientData,
                                        Tcl_Interp *interp, int argc, char **argv)
        {
            try {
                string[] arr = new string[argc];
                for (int i = 0; i < argc; i++)
                {
                    arr[i] = Marshal.PtrToStringAnsi((IntPtr)argv[i]);
                }

                _proc(_interp, arr);
            }
            catch (Exception) {
                return(TclNative.TCL_ERROR);
            }

            return(TclNative.TCL_OK);
        }
Пример #5
0
 internal static extern void Tk_MainEx(int argc, [In, MarshalAs(UnmanagedType.LPArray)] string[] argv,
                                       Tcl_AppInitProc appInitProc, Tcl_Interp *interp);
Пример #6
0
 internal static extern int Tk_Init(Tcl_Interp *interp);
 internal static extern IntPtr Tcl_CreateCommand(Tcl_Interp *interp,
                                                 [MarshalAs(UnmanagedType.LPStr)] string cmdName, Tcl_CmdProc proc,
                                                 IntPtr clientData, Tcl_CmdDeleteProc deleteProc);
 internal static extern IntPtr Tcl_GetVar(Tcl_Interp *interp,
                                          [MarshalAs(UnmanagedType.LPStr)] string varName, int flags);
 internal static extern int Tcl_Eval(Tcl_Interp *interp,
                                     [MarshalAs(UnmanagedType.LPStr)] string str);