引言:
勇哥想研究一下C#内嵌脚本的知识。
主要想把运动控制、视觉的一些功能封装成指令,用脚本语言进行调用。
就像机器人的vb语言,它就是把一些功能封装成指令进行调用。CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧。DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了。如果你从来没接触过 CodeDom,你大概可以根据这个名字,推断它应该和代码文档模型有关。这推断是靠谱的,CodeDom的功能,归结为两大部分:1、生成代码文档。这
这个输出路径很多小伙都不知道怎么填写。其实很简单。你记住:先点“浏览” 看下当前的位置然后准备填写自己想要的相对路径串,其中: ..\ 是上一级 .\是下一级然后你判断是上一级还是下一级,然后添入路径串。例如勇哥输入的是 ..\..\dll\ 指的是当前位置的上一级的上一级的dll目录下面。输入完路径,按“浏览”,可以随时看到位置是不是你想要的位置,不是的话就改动路径串,重复这个过程。关键是输入路径后,随时点“浏
一直以为在路径表示中应该为\
实际上/也是可以的,勇哥还一直以为/的表示是halcon中专用的。
惭愧!!
moduleDir="ModuleObjectConfig\\LinearModule" 其实可以表示为
moduleDir="ModuleObjectConfig/LinearModule"
Directory.Exists(module
开源的统计图控件中基本常用的是OpenFlashChar和ZedGraph,今天就先来讲讲ZedGraph的使用。ZedGraph资源ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id=114675ZedGraph相关例子资源:http://zedgraph.org/wiki/index.php?title=Sample_Graphs ZedGraph的特点:第一,可以先生成图片后再显示,这对一些
勇哥的C#项目,当把项目卸载后,再次载入。有些显示“不可用”,有些显示“不兼容”。但是所有的都能重新载入。这是什么鬼?有人知道吗?我之所以卸载项目,是因为dll开发完成,不需要再挂载源代码了。
Application.DoEvents()以让UI线程在当前代码上下文中切换去处理其它Windows消息,从而避免界面的假死。如在一个按钮单击事件中,需要每一秒改变label的Text属性,如下代码: private void button1_Click(object sender, EventArgs e)
{
 
引言:
勇哥目前需要在两个进程间进行线程同步,要求是这样的:
进程A负责扫描板卡IO,并将结果写入共享内存。
进程B负责读取共享内存的结果。
这个时候需要在进程A写入IO扫描结果后立刻通知进程B读取结果。进程A的写入动作节拍是4ms,
进程A和进程B必须在在这4ms节拍内按先后次序完成数据的写入与读取。
这是由于io扫描的结果除了io的电平状态,还包括上升沿和下降沿的结果,
如果两个进程的操作不在同一个4ms节拍内顺序完成的话,
取得的上升沿和下降沿状态就不是同步的。
引言:
勇哥目前需要在两个进程间进行线程同步,要求是这样的:
进程A负责扫描板卡IO,并将结果写入共享内存。
进程B负责读取共享内存的结果。
这个时候需要在进程A写入IO扫描结果后立刻通知进程B读取结果。进程A的写入动作节拍是4ms,
进程A和进程B必须在在这4ms节拍内按先后次序完成数据的写入与读取。
这是由于io扫描的结果除了io的电平状态,还包括上升沿和下降沿的结果,
如果两个进程的操作不在同一个4ms节拍内顺序完成的话,
取得的上升沿和下降沿状态就不是同步的。
单例模式是软件工程学中最富盛名的设计模式之一。从本质上看,单例模式只允许被其自身实例化一次,且向外部提供了一个访问该实例的接口。通常来说,单例对象进行实例化时一般不带参数,因为如果不同的实例化请求传递的参数不同的话会导致问题的产生。(若多个请求都是传递的同样的参数的话,工厂模式更应该被考虑)C#中实现单例有很多种方法,本文将按顺序介绍非线程安全、完全懒汉式、线程安全和低/高性能集中版本。在所有的实现版本中,都有以下几个共同点:唯一的、私有的且无参的构造函数,这样不允许外部类进行实例化;类是密封的
勇哥注:《多线程安全》这个系列会持续写下去,它是我的一个弱点,有兴趣的朋友可以选择性看看。内核模式锁有三种:事件锁AutoResetEvent,MuanualResetEventm,信号量Semaphore,互斥锁Mutex这三种锁,我们发现都有一个WaitOne方法。。。因为他们都是继承于WaitHandle。三种锁都是同根生,其实底层都是通过SafeWaitHandle来对win32api的一个引用。在万不得已的情况下,不要使用内核模式的锁,因为代价太大。其实我们有更多的方式可以替代:混合锁