<< 点击显示目录 >> 主页 PVI通信 > PVI帮助信息 > PVI Services > 所有列表类型的基础服务 > 用于管理通信对象的列表 > 变量收集类 |
该类中的一个对象代表一个变量对象的集合。在PviServices中,VariableCollection对象是为全局和局部进程变量自动生成的。这意味着,在创建任务对象时,会自动生成一个本地变量对象的列表。当以后创建一个本地变量或调用VariableCollection "Upload "函数时,这个列表会自动扩展。
变量对象的所有方法和属性都应该能够用于变量对象的列表。 因此, 调用 Connect 方法可以建立一个与列表中所有变量对象的连接。 调用Disconnect 方法 时也 是如此 。列表基本上被贯穿,每个对象都被调用相应的方法。这也同样适用于列表的属性。然而,最大的优势来自于能够为某些事件添加处理程序。这意味着不再需要为每个单独的变量对象的某个事件添加相同的处理例程。因此,所有变量对象的事件都可以通过为某个列表事件指定一个处理例程来响应。
// Type 1: 对于每个变量添加同样的处理程序
var1.Connected += new PviEventHandler(variableConnected);
var2.Connected += new PviEventHandler(variableConnected);
var3.Connected += new PviEventHandler(variableConnected);
...
...
VariableCollection userCollection = new VariableCollection(this.service,"MyList");
userCollection.Add(var1);
userCollection.Add(var2);
userCollection.Add(var3);
// Type 2: 为整个列表添加一个单一的处理程序
userCollection.Connected += new PviEventHandler(variableConnected);
private void variableConnected(object sender, PviEventArgs e)
{
this.lbStatus.Text = ((Variable)sender).Name + " connected\r\n";
}
这两种类型都能带来理想的结果;但是要注意,使用类型1时,大量的变量对象会导致过多的处理例程和性能损失。
本节的主题