将当前CogToolBlock的Record显示在RecordDisplay控件上:(代码如下)
cogRecordDisplay1.Record = m_tb.CreateLastRunRecord().SubRecords[0];
理解如下:
1.cogRecordDisplay1.Record 指定要显示的具体记录, m_tb为CogToolBlock类型的对象
2.这里使用了CogRecordDisplay控件,可以显示一张图片以及这张图片上的图像子记录,这里虽然知道SubRecords显示的为子记录,但是并不了解其子记录具体是什么。尤其是SubRecords[0]代表什么意思。
3.ICogTool接口的CreateLastRunRecord方法获取一条记录,该记录反映了上次调用工具的Run方法的结果。LastRunRecord包含子记录的层次结构,每个子记录在调用Run时保存对工具输入图像的缓存引用。
4.CogVisionPro说明文档中的SubRecords()的例句如下:
在搜索ShowLastRunRecordForUserQueue时,发现如下描述:用户结果记录包含以下子记录:
User Result SubrecordsSubRecord KeyDescriptionJobName:提供这些结果的作业的名称。
UserResultTag:结果数据包的序列号。
RunStatus:工具的运行状态。
ShowLastRunRecordForUserQueue:如果在“Configure Posted(配置已发布项目)”对话框中选中了“包括LastRunRecord图像和图形”选项,则此记录包含一个子记录,其键为LastRun。
LastRun:记录包含子记录,其中包含作业中每个工具的上次运行记录。
Posted Items对于您选择要在“Posted Items”列表中的每个项目,都有一条记录。这些项目的记录键对应于配置项目时指定的路径。例如:“Tools.Item[1].CogBarcodeTool.Results.Count”
对程序Debug发现:
SubRecords()即为上一次运行结果的输出图片,如下图所示。
//将当前ToolBlock的Record显示在RecordDisplay控件上,
//cogRecordDisplay1.Record 指定要显示的具体记录 CogToolBlock m_tb;
cogRecordDisplay1.Record = m_tb.CreateLastRunRecord().SubRecords[0];
//Fit()将缩放图像及其图形以适应显示控件。
cogRecordDisplay1.Fit();