123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- using CommonMethods;
- using FormLib;
- using HalconDotNet;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using ViewROI;
- namespace HDevEngineTool
- {
- public partial class FormHDevEngineTool : Form
- {
- private HDevEngineCode myHDevEngine = new HDevEngineCode();
- public IToolInfo myToolInfo = new IToolInfo();
- public HWindowTool_Smart myHwindow = new HWindowTool_Smart();
- public FormHDevEngineTool(ref object hdevEngine)
- {
- InitializeComponent();
- _instance = this;
- if (hdevEngine.GetType().FullName != "System.Object")
- {
- myToolInfo = (IToolInfo)hdevEngine;
- myHDevEngine = (HDevEngineCode)myToolInfo.tool;
- myHDevEngine.toolName = myToolInfo.FormToolName;
- myHDevEngine.DispImage();
- }
- }
- /// <summary>
- /// 窗体对象实例
- /// </summary>
- private static FormHDevEngineTool _instance;
- public static FormHDevEngineTool Instance
- {
- get
- {
- if (_instance != null)
- {
- lock (_instance)
- {
- if (_instance == null)
- {
- object hdevEngine = new object();
- _instance = new FormHDevEngineTool(ref hdevEngine);
- }
- return _instance;
- }
- }
- else
- {
- object hdevEngine = new object();
- _instance = new FormHDevEngineTool(ref hdevEngine);
- return _instance;
- }
- }
- }
- private void FormHDevEngineTool_Load(object sender, EventArgs e)
- {
- this.panelHImageWindow.Controls.Add(myHwindow);
- myHwindow.Dock = DockStyle.Fill;
- }
- public void InitTool()
- {
- txbCodeText.Text = myHDevEngine.CodeText;
- }
- private void tsbReadHdev_Click(object sender, EventArgs e)
- {
- OpenFileDialog myDia = new OpenFileDialog();
- myDia.Filter = "Halcon程序(*.hdev)|*.hdev";
- myDia.Title = "打开Halcon程序";
- if (myDia.ShowDialog() == DialogResult.OK)
- {
- string filePath = myDia.FileName;
- myHDevEngine.CodeFilePath = filePath;
- string hdevText = FileOperate.ReadFile(filePath);
- txbCodeText.Text = hdevText;
- }
- }
- private void tsbSaveHdev_Click(object sender, EventArgs e)
- {
- SaveFileDialog myDia = new SaveFileDialog();
- myDia.Filter = "Halcon程序(*.hdev)|*.hdev";
- if (myDia.ShowDialog() == DialogResult.OK)
- {
- string path = myDia.FileName;
- myHDevEngine.CodeFilePath = path;
- FileOperate.WriteFile(path, txbCodeText.Text);
- }
- }
- private void tsbReLoad_Click(object sender, EventArgs e)
- {
- if (File.Exists(myHDevEngine.CodeFilePath))
- {
- FileInfo myFileInfo = new FileInfo(myHDevEngine.CodeFilePath);
- myHDevEngine.MyEngine.SetProcedurePath(myFileInfo.DirectoryName);
- myHDevEngine.MyProgram.LoadProgram(myHDevEngine.CodeFilePath);
- myHDevEngine.ProgramCall = new HDevProgramCall(myHDevEngine.MyProgram);
- myHDevEngine.MyEngine.SetHDevOperators(new HDevOpMultiWindowImpl(myHwindow.SmartWindow.HalconWindow));
- }
- }
- private void tsbtRunTool_Click(object sender, EventArgs e)
- {
- if(myHDevEngine.ProgramCall != null)
- {
- myHDevEngine.ProgramCall.Execute();
- // HTuple a = myHDevEngine.ProgramCall.GetCtrlVarTuple("RunTime");
- }
-
- }
- }
- }
|