海康二次开发笔记10-独立Group导入、导出及执行

独立Group导入、导出及执行

1. 界面设计

2. 添加引用

Group相当于VM中的模块,因此在调用相关接口函数前,需要引用对应的动态库IMVSGroupCs,同时将复制本地的属性改为False

Csharp 复制代码
using IMVSGroupCs;

3. 添加VmSingleModuleSetConfigControl控件

拖入控件后,设置Dock为Fill

4. 选择Group路径

Csharp 复制代码
        /// <summary>
        /// 选择Group路径
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Filter = "VM Gro File|*.gro*";
            DialogResult openFileRes = fileDialog.ShowDialog();
            if (openFileRes==DialogResult.OK)
            {
                textBox1.Text = fileDialog.FileName;
            }
        }
  1. 导入Group
Csharp 复制代码
       /// <summary>
       /// 导入Group
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void button3_Click(object sender, EventArgs e)
       {
           string strMsg = null;
           try
           {
               groupTool = IMVSGroupTool.LoadIndependentGroup(textBox1.Text);
               vmSingleModuleSetConfigControl1.ModuleSource = groupTool;
               
           }
           catch (VmException ex)
           {
               strMsg = "加载Group失败.异常码:"+Convert.ToString(ex.errorCode,16);
           }
           strMsg = "加载Group成功.";
           listBox1.Items.Add(strMsg);
           listBox1.TopIndex = listBox1.Items.Count - 1;
       }

6. 导出Group

Csharp 复制代码
        /// <summary>
        /// 导出Group
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            groupTool.Save();
        }

7. 执行Group

Csharp 复制代码
        /// <summary>
        /// 执行一次
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button4_Click(object sender, EventArgs e)
        {
            groupTool.Run();
        }

8. 运行

  1. 选择路径
  1. 导入Group
  1. 导出Group

可将Group保存至原路径.

  1. 执行Group

可将Group执行一次

相关推荐
唐青枫21 小时前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫2 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
咕白m6252 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
用户91721561902112 天前
C# 通信协议增量解析:用状态机处理半包和粘包
c#
小码编匠3 天前
C# 工控上位机必备:数据转换工具类与十个核心模块
后端·c#·.net
LinXunFeng3 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
兵慌码乱4 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
唐青枫5 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Artech5 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf
小小杨树6 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色