2020-03-27 16:45:16
勇哥今天发现一个问题,流程变量怎么由宿主程序赋值?如果像给代码活动的InArgument, OutArgument的输入输出参数变量赋值那样给活动变量赋值的话 ,你会见到下面的错误。勇哥把流程改了一下,加入两个Assign,让它用静态变量给v1,v2赋值。static是在宿主程序那边定义的。 public static class glob
{
public st...
2020-03-27 09:34:11
因为勇哥看到一份代码,作者为了方便一个类能被任何其它类随时调用,把这全部成员变与方法都定义为static。感觉很怪异,于是抽点时间仔细考虑了一下为啥这样不妥当,罗列几条如下:是否使用静态,相信大家肯定知道静态与实例方法的调用区别:一个是类型调用,一个是实例调用。个人建议更应该从OOP的角度思考这个问题:什么样的行为是需要具体的对象去执行的,什么样的行为是某一个类型/类别拥有的?举个例子:每个人都有...
2020-03-25 22:16:43
这个话题非常重要,因为代码活动是最常用的一种自定义的活动。如果勇哥把代码活动的功能用一个个的halcon算子实现某种视觉功能的话,将会有大量的不同数据类型的参数传入与输出,因为代码活动的InArgument和OutArgument只允许传入一个T,因此需要自己设计自定数据类型来解决这个问题。2020/3/26号 勇哥注:因为代码活动的InArgument和OutArgument只允许传入一个T,因...
2020-03-25 09:51:17
勇哥只知道这个dic只有一个元素,但并不知道key是什么,如何从一个Dictionary里取得第1个key和Value? Dictionary<String, Object> dict = new Dictionary<string, object>();
dict.Add("ClassA", 123);
dict.Add("Class...
2020-03-25 09:35:03
如下图所示:如果你引用的是System.Windows.Controls, 则box.DataSoruce会表示没有这个属性DataSource。如果你引用System.Windows.Forms,则没有问题。勇哥也是刚发现这两者的差别蛮大,又是一个知识的盲点。目前在网上搜索不到这两者的详细区别,只找到这个:暂时就理解为: 因为建立的工程是.net winform程序,所以控件要引用System....
2020-03-24 20:17:08
勇哥想做到下面的效果:几何定位后其坐标给blob的roi做参考,实现物料无论怎么移动旋转,blob的roi都维持相对位置不变的效果。这个也就是halcon的仿射变换常见的应用。先把程序丢上来:(一)几何定位的设置主要设置了掩膜,搜索区域(1个),找到一个固定的特征点。下图是找到的固定特征点。(二)blob工具主要设置ROI区域为仿射矩roi, 这个是关键地方,否则得不到roi跟随几何变换的效果。然...
2020-03-24 14:40:50
在工作流开发中,邮件通知是必不可少。这篇文章中,我将是使用WF4.0一步一步打造一个功能完整的邮件通知节点。 首先,新建一个WorkflowConsoleApplication项目,改名为MailNoticeDemo,如下图: 添加一个CodeActivity活动命名为MailNotice,添加一个ActivityDesigner活动命名为MailNoticeDesigner。项目结构如下...
2020-03-24 10:36:48
勇哥引用一段“工作流设计器”功能的代码,发现:UIElement和System.Windows.Controls无法引用,错误如下图所示:网上找了下资料,如下:System.windows.UIElement
定义了wpf的核心子系统,包括布局layout 输入input和事件event 焦点 等
System.Windows.Controls
则是wpf的控件系统,不是winf...
2020-03-23 16:38:57
例子下载:http://files.cnblogs.com/foundation/ActivityActionSample.rar ActivityAction 类名System.Activities.ActivityActionSystem.Activities.ActivityAction<T>System.Activities.ActivityAction<T1, T2&g...
2020-03-23 16:35:09
例子下载:http://files.cnblogs.com/foundation/AsyncCodeActivitySample.rar 项目说明:Async ActivityAsync的意思是异步,但有一点一定要注意,不能按字面理解,该Activity的功能是以同步的方式调用异步方法的Activity建议看过[WF4.0 基础篇 (十三) InvokeMethod 调用方法 ]后,再看本文 类...
2020-03-23 16:32:46
本文例子下载http://files.cnblogs.com/foundation/GenericActivitySample.rar范型ActivityActivitypublic sealed class GenericActivity<T> : CodeActivity{public InArgument<ICollection<T>> myCollect...
2020-03-23 16:27:40
Tracking 介绍WF跟踪是用来记录工作流执行情况WF跟踪由以下几部分组成:跟踪记录Tracking Records从工作流运行时发出跟踪配置Tracking Profile用来筛选从工作流实例中发出的跟踪记录跟踪参与者Tracking Participants用来订阅跟踪记录。跟踪参与者包括处理来自跟踪记录的负载的逻辑ActivityInfoSystem.Activities.Trackin...
2020-03-23 13:56:46
本节主要介绍WF4 中 WorkflowInvoker的使用本文例子下载:http://files.cnblogs.com/foundation/WorkflowInvokerSample.rar 本文例子说明 WorkflowInvoker类名System.Activitys.WorkflowInvoker文件System.Activities.dll结构说明继承 Object是一个 seal...
2020-03-23 13:52:44
本节主要介绍WF4 中 有返回值Activity的使用本文例子下载:http://files.cnblogs.com/foundation/ActivityWithResultSample.rar 本文例子说明ActivityWithResult类名System.Activities.ActivityWithResult文件System.Activities.dll结构说明继承Activity是一...
2020-03-23 13:49:48
本节主要介绍WF4 中持久化的使用 本文例子下载:http://files.cnblogs.com/foundation/PersistenceSample.rarPersistence 持久化WF4提供了一个抽象类System.Runtime.Persistence.InstanceStore,用于定义持久化的实现.该类来自于System.Runtime.dll可以从InstanceStore类...
2020-03-23 13:37:37
本节主要介绍WF4的补偿 本文例子下载:http://files.cnblogs.com/foundation/CompensableWorkflow.rar本文例子说明CompensableActivity 补偿容器补偿使用户可以指定对基于身体活动的成功完成后发生的活动的活动而须采取纠正行动 CompensableActivity 补偿容器 类名System.Activities.Stateme...
2020-03-23 13:31:17
本节主要介绍WF4中无返回值Bookmark与有返回值Bookmark,以及Bookmark在parallel,ParallelForEach,ForEach中的使用. 本文例子下载:http://files.cnblogs.com/foundation/BookmarkSample.rar本文例子说明BookmarkBookmark可使用流程Idle并触发实例的OnIdle 无返回值Bookma...
2020-03-23 10:57:45
刚才完成了一项移植工作,趁着还没忘记,写点注意事项。首先目标wpf窗体非常复杂,很多控件,而且按钮是自动生成的,用了用户控件、模板、订制控件、资源、事件路由、handle等一大堆非普通写法,想把这些移植到winform上去似乎很困难,实际上简单的超乎想象,这里要感谢下微软,把能做的都已经做好了,wpf和winform几乎可以完美衔接。下面是简易步骤:1,建立一个wpf的usercontrol,将源...
2020-03-23 10:25:08
使用Grid面板可以很容易的将可用空间划分成单个单元格。使用行和列的定义,又很容易控制每行或每列占据多少空间。但是,如果你想让用户来改变这些该怎么办呢?这个时候GridSplitter就出场了。GridSplitter使用起来非常简单,把它加到Grid里的某一行或者某一列,再分配合适的空间如5个像素这样就可以了。它允许用户从左边到右边,从上到下进行拖拽,这样就改变了行或列的尺寸。来看例子:<...
2020-03-22 21:40:17
程序流程图如下:算是最近学习凌云的一点小总结吧。--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上博文链接!...
2020-03-22 20:43:17
(1) 新增分支图1要新增一个分支怎么做?(图1)注意圈所示位置为鼠标右键点击的地方,然后弹出菜单“新增分支”(图2)(2)一批工具组合在一起如下图, 三个工具想组合在一起,可以右键菜单,“组合”组合一起的工具可以展开与收起。 (3)复制粘贴多个工具可以选中多个工具进行“复制”,然后在红圈处右键,然后粘贴。粘贴后的效果。(4)视图操作用于新增结果显示视图,以显示你想要的结果轮廓。创建新视图把工...
2020-03-21 08:47:01
本节主要介绍WF4的事物 本文例子下载:http://files.cnblogs.com/foundation/TransactionScopeWorkflow.rar本文例子说明 准备例子中要用到的数据库创建一个名为[wxwinterWFTest]的数据库,在数据库中创建一个名为[UserTable]的表,在表中创建一个名[UserUD]的[nurchar(50)]的字段,设成主键例子中要用到的...
2020-03-21 08:39:09
本节主要介绍WF的实例是单线程运行的,Delay并不是Thread.Sleep,Parallel是单线程运行的,WorkflowApplication与WorkflowInvoker在调用流程上的区别,InvokeMethod 调用异步方法 本文例子下载:http://files.cnblogs.com/foundation/DelayAndThreadWorkflow.rar本文例子说明WF的实...
2020-03-20 17:59:28
备注:这篇文章的使用环境是.NET framework 4.0 RC 1在WF4中创建native活动时,NativeActivity是非常强大的。其众多的功能之一是围绕错误处理。调度子活动的时的基本错误处理。 当NativeActivity执行的时候,它是通过一个NativeActivityContext实例,这个实例通过使用ScheduleActivity()函数来调度其他活动。Sche...
2020-03-20 17:57:09
在Windows Workflow中,活动的状态共有六种。这些状态通过ActivityExecutionStatus枚举来表示:Initialized、Executing、Closed、Canceling、Compensating和Faulting。所有活动都从Initialized状态开始,并以Closed状态结束。下图描绘了状态之间可能进行的转换:上图中有两个地方比较重要,我们需要特别注意一下...
2020-03-20 17:26:35
本节主要介绍WF4 中 Flowchart的使用 本文例子下载:http://files.cnblogs.com/foundation/FlowcharSample.rar本文例子说明 Flowchart 说明Flowchart类名System.Activities.Statements.Flowchart文件System.Activities.dll结构说明继承 NativeActivity是一...
2020-03-20 15:58:12
提供流程设计,调试,图形化状态跟踪,自动生成数据页面,格式转换,等功能 原计划准备在春节前传上来,没想到病了10天,就耽误了.还想添加很多功能,但看到许多学习WF的朋友对这个例子比较关心就先发上来.以后我会再发一个新版关于设计思路与代码说明我会在以后的 [WF4.0 基础篇 ]这个系列中具体讲解代码下载http://files.cnblogs.com/foundation/Wxwinter.BPM...
2020-03-20 13:39:39
本节主要介绍InvokeMethod 调用静态方法,实例方法,params参数方法,out参数方法,ref参数方法,范型方法 本文例子下载:http://files.cnblogs.com/foundation/InvokeMethodWorkflow.rar本文例子说明 InvokeMethod 调用方法类名System.Activities.Statements.InvokeMethod文件S...
2020-03-20 13:37:07
本节主要介绍CancellationScope在异常中的使用,以及CancellationScope在Parallel 的使用. 本文例子下载:http://files.cnblogs.com/foundation/CancellationScopeSample.rar本文例子说明 CancellationScope 取消容器类名System.Activities.Statements.Cance...
2020-03-20 13:30:09
本节主要介绍WF的异常产生方式;WF流程结束方式;以及Throw,TryCatch,Rethrow ,TerminateWorkflow 的使用 本文例子下载:http://files.cnblogs.com/foundation/ExceptionWorkflow.rar本文例子说明WF的异常产生方式与流程结束方式WF的异常可由以下方式产生使用[Throw Activity] 抛出异常使用[Th...