public FormHalconTool(ref object halconTool)
 {
     InitializeComponent();
     // 若窗体还未被初始化,则此时仍是object类型,就无法对类型强转
     if (halconTool.GetType().FullName != "System.Object")
     {
         myToolInfo   = (IToolInfo)halconTool;
         myHalconTool = (HalconTool)myToolInfo.tool;
     }
     _instance = this;
 }
 /// <summary>
 /// 获取工具的所有信息
 /// </summary>
 /// <param name="生成的工具名称"></param>
 public HalconToolInterface(string toolName)
 {
     enable        = true;
     toolType      = ToolType.HalconTool;
     this.toolName = toolName;
     tool          = new HalconTool.HalconTool();
     FormTool      = null;
     FormToolName  = "HalconTool.FormHalconTool";
     toolInput     = new List <ToolIO>();
     toolOutput    = new List <ToolIO>()
     {
         outputImage
     };
 }
        public void ToolRun(string jobName, int toolIndex, int inputItemNum, TreeNode selectNode, List <IToolInfo> L_toolList)
        {
            Type       a            = this.GetType();
            HalconTool myHalconTool = (HalconTool)L_toolList[toolIndex].tool;
            VisionJob  myJob        = VisionJobParams.pVisionProject.Project[jobName];

            myHalconTool.Run(SoftwareRunState.Release);
            if (myHalconTool.toolRunStatu != ToolRunStatu.Succeed)
            {
                myJob.FormLogDisp($"{L_toolList[toolIndex].toolName} 运行失败,失败原因:{myHalconTool.runMessage}", Color.Red, selectNode, Logger.MsgLevel.Exception);
            }
            else
            {
                myJob.FormLogDisp($"{L_toolList[toolIndex].toolName} 运行成功,{myHalconTool.runTime}", Color.Green, selectNode);
                FormImageWindow.Instance.myHWindow.HobjectToHimage(myHalconTool.outputImage);
            }
        }