在TestStand中如何通过编程添加用户?



主要软件:
主要软件版本: 4.2
主要软件修正版本: N/A
次要软件: LabVIEW Development Systems>>LabVIEW Full Development System

问题: 在TestStand中如何通过编程添加用户?

解答: 通过TestStand API函数利用编程的方式创建更多的TestStand用户。你可以在TestStand以外的环境,TestStand中调用的Sequence,或者是序列中调用的外部代码模块来实现。在前面两种情况下,你只需要简单的创建TestStand引擎对象(TestStand以外的其他编程语言环境中)或是使用RunState.Engine(如果你是在TestStand环境下的序列中)。在第三种情况下,你可以将SequenceContext传递代码模块并通过SequenceContext.Engine来获取引擎,或者直接通过RunState.Engine将引擎对象传递给代码模块。

一旦获取到引擎对象的引用,按照下面的步骤创建新的用户对象并将其添加到用户列表。
  1. 使用引擎类的NewUser方法,并传递空的参数以获取新用户对象的引用:

    Engine.NewUser(null)

  2. 使用用户列表(属性对象)的SetPropertyObjectByOffset方法,并传递用户列表数组大小作为偏移参数,PropOption_InsertIfMissing 作为可选参数,以及步骤一中所获取到的用户对象的属性对象引用作为新值参数,来添加新用户至TestStand用户列表。

    Engine.UsersFile.UserList.SetPropertyObjectByOffset(
    Engine.UsersFile.UserList.GetNumElements(), PropOption_InsertIfMissing, Engine.NewUser(null).AsPropertyObject())

  3. 增加用户列表文件的的修改版本号以标记其被修改过:

    Engine.UsersFile.AsPropertyObjectFile().IncChangeCount()

  4. 最后保存用户列表文件至磁盘确保新增减的用户储存到了用户文件:

    Engine.UsersFile.AsPropertyObjectFile().SaveFileIfModified(false)
注意:这只是创建了一个新的用户并添加到用户列表。你还需要另外给予其权限或者添加用户至不同的用户组。TestStand也附带了这方面的例子可以帮助理解其中的操作,目录在<TestStand Examples>\CreateDeleteUsers。

相关链接: KnowledgeBase 4B1M2AC: Programmatically Retrieve User Name In TestStand
KnowledgeBase 3V6JBTO8: How Can I Disable All User Management in TestStand?
TestStand 4.1 Help: UsersFile

附件:





报告日期: 01/12/2005
最近更新: 08/30/2010
文档编号: 3HBLGIFD