Commit 560f3eda LN

1

1 个父辈 0b7e7fc4
...@@ -8,6 +8,7 @@ using System.IO; ...@@ -8,6 +8,7 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization.Formatters.Binary;
using System.Text; using System.Text;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace AOI namespace AOI
...@@ -107,10 +108,13 @@ namespace AOI ...@@ -107,10 +108,13 @@ namespace AOI
/// <param name="filePath"></param> /// <param name="filePath"></param>
public static AoiProject Load(string filePath, out string msg) public static AoiProject Load(string filePath, out string msg)
{ {
Thread.Sleep(1);
GC.Collect();
msg = ""; msg = "";
Thread.Sleep(1);
AoiProject aoiProject = new AoiProject();
try try
{ {
AoiProject aoiProject = new AoiProject();
Dictionary<string, string> projectMap = JsonUtil.DeserializeJsonToObjectFromFile<Dictionary<string, string>>(filePath); Dictionary<string, string> projectMap = JsonUtil.DeserializeJsonToObjectFromFile<Dictionary<string, string>>(filePath);
string base64Img = projectMap["base64Img"]; string base64Img = projectMap["base64Img"];
aoiProject.standardImage = Base64Util.ToImage(base64Img); aoiProject.standardImage = Base64Util.ToImage(base64Img);
...@@ -129,12 +133,18 @@ namespace AOI ...@@ -129,12 +133,18 @@ namespace AOI
PathData pathData = JsonUtil.DeserializeJsonToObject<PathData>(PathDataStr); PathData pathData = JsonUtil.DeserializeJsonToObject<PathData>(PathDataStr);
aoiMethod.RoiPath = new GraphicsPath(pathData.Points, pathData.Types); aoiMethod.RoiPath = new GraphicsPath(pathData.Points, pathData.Types);
aoiProject.methodMap.Add(item.Key, aoiMethod); aoiProject.methodMap.Add(item.Key, aoiMethod);
Thread.Sleep(1);
} }
return aoiProject; return aoiProject;
} }
catch (Exception ex) catch (Exception ex)
{ {
if (aoiProject.standardImage != null)
{
aoiProject.standardImage.Dispose();
}
aoiProject = null;
msg = ex.ToString(); msg = ex.ToString();
return null; return null;
} }
......
...@@ -138,6 +138,42 @@ namespace AccAOI ...@@ -138,6 +138,42 @@ namespace AccAOI
private void btnOpenPro_Click(object sender, EventArgs e) private void btnOpenPro_Click(object sender, EventArgs e)
{ {
if (Project != null)
{
DialogResult dialResult = MessageBox.Show("是否打开新项目?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dialResult.Equals(DialogResult.Yes))
{
CloseCurrAoi();
aoiList.ItemClear();
Project = null;
if (TestImage != null)
{
TestImage.Dispose();
TestImage = null;
}
if (BaseImg != null)
{
BaseImg.Dispose();
BaseImg = null;
}
if (testImageBox1.Image != null)
{
testImageBox1.Image.Dispose();
testImageBox1.Image = null;
}
if (this.imageBox1.Image != null)
{
this.imageBox1.Image.Dispose();
this.imageBox1.Image = null;
}
GC.Collect();
}
else
{
return;
}
}
System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog(); System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog();
openDialog.Title = "打开项目"; openDialog.Title = "打开项目";
openDialog.Filter = "(*.data)|*.data|(*.*)|*.*"; openDialog.Filter = "(*.data)|*.data|(*.*)|*.*";
...@@ -151,6 +187,7 @@ namespace AccAOI ...@@ -151,6 +187,7 @@ namespace AccAOI
{ {
return; return;
} }
string fileName = openDialog.FileName; string fileName = openDialog.FileName;
// Project = new AoiProject(BaseImg); // Project = new AoiProject(BaseImg);
string msg = ""; string msg = "";
...@@ -163,6 +200,7 @@ namespace AccAOI ...@@ -163,6 +200,7 @@ namespace AccAOI
{ {
currProjectFileName = fileName; currProjectFileName = fileName;
} }
ShowPorject(); ShowPorject();
} }
......
...@@ -16,8 +16,9 @@ namespace AccAOI.camera ...@@ -16,8 +16,9 @@ namespace AccAOI.camera
public static string ErrorMsg = ""; public static string ErrorMsg = "";
public static void LoadCamera(bool isReLoad = false) public static void LoadCamera(bool isReLoad = false)
{ {
if (isReLoad) if (isReLoad||hikNameList.Count<=0)
{ {
hikNameList = new List<string>();
HIKCamera.Instance.Load(); HIKCamera.Instance.Load();
} }
string[] names = HIKCamera.Instance.CameraName; string[] names = HIKCamera.Instance.CameraName;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!