Ejemplo n.º 1
0
        internal static void GetProcedureInfo(
            IntPtr procedure,
            out string name,
            out string shortDescription,
            out bool loaded,
            out HTuple parNamesIconicInput,
            out HTuple parNamesIconicOutput,
            out HTuple parNamesCtrlInput,
            out HTuple parNamesCtrlOutput,
            out HTuple parDimsIconicInput,
            out HTuple parDimsIconicOutput,
            out HTuple parDimsCtrlInput,
            out HTuple parDimsCtrlOutput)
        {
            IntPtr tuple1;

            EngineAPI.HCkE(HalconAPI.CreateTuple(out tuple1));
            IntPtr tuple2;

            EngineAPI.HCkE(HalconAPI.CreateTuple(out tuple2));
            IntPtr tuple3;

            EngineAPI.HCkE(HalconAPI.CreateTuple(out tuple3));
            IntPtr tuple4;

            EngineAPI.HCkE(HalconAPI.CreateTuple(out tuple4));
            IntPtr tuple5;

            EngineAPI.HCkE(HalconAPI.CreateTuple(out tuple5));
            IntPtr tuple6;

            EngineAPI.HCkE(HalconAPI.CreateTuple(out tuple6));
            IntPtr tuple7;

            EngineAPI.HCkE(HalconAPI.CreateTuple(out tuple7));
            IntPtr tuple8;

            EngineAPI.HCkE(HalconAPI.CreateTuple(out tuple8));
            IntPtr name1;
            IntPtr shortDescription1;

            EngineAPI.HCkE(EngineAPI.HCenGetProcedureInfo(procedure, out name1, out shortDescription1, out loaded, tuple1, tuple2, tuple3, tuple4, tuple5, tuple6, tuple7, tuple8));
            name                 = Marshal.PtrToStringAnsi(name1);
            shortDescription     = Marshal.PtrToStringAnsi(shortDescription1);
            parNamesIconicInput  = HalconAPI.LoadTuple(tuple1);
            parNamesIconicOutput = HalconAPI.LoadTuple(tuple2);
            parNamesCtrlInput    = HalconAPI.LoadTuple(tuple3);
            parNamesCtrlOutput   = HalconAPI.LoadTuple(tuple4);
            parDimsIconicInput   = HalconAPI.LoadTuple(tuple5);
            parDimsIconicOutput  = HalconAPI.LoadTuple(tuple6);
            parDimsCtrlInput     = HalconAPI.LoadTuple(tuple7);
            parDimsCtrlOutput    = HalconAPI.LoadTuple(tuple8);
            EngineAPI.HCkE(HalconAPI.DestroyTuple(tuple1));
            EngineAPI.HCkE(HalconAPI.DestroyTuple(tuple2));
            EngineAPI.HCkE(HalconAPI.DestroyTuple(tuple3));
            EngineAPI.HCkE(HalconAPI.DestroyTuple(tuple4));
            EngineAPI.HCkE(HalconAPI.DestroyTuple(tuple5));
            EngineAPI.HCkE(HalconAPI.DestroyTuple(tuple6));
            EngineAPI.HCkE(HalconAPI.DestroyTuple(tuple7));
            EngineAPI.HCkE(HalconAPI.DestroyTuple(tuple8));
        }