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

主要软件: 

主要软件版本: 2014
主要软件修正版本: 
次要软件: Measurement Studio>>VC#


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

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

我是通过axApplicationMgr.GetEngine()方法获取Engine对象!


一旦获取到引擎对象的引用,按照下面的步骤创建新的用户对象并将其添加到用户列表(C#代码)。

 

  1. 使用引擎类的NewUser方法,并传递空的参数以获取新用户对象的引用:

    User user = engine.NewUser(null);

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

    engine.UsersFile.UserList.SetPropertyObjectByOffset(
    engine.UsersFile.UserList.GetNumElements(), 0x1, user.AsPropertyObject());

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

    engine.UsersFile.AsPropertyObjectFile().IncChangeCount();

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

    engine.UsersFile.AsPropertyObjectFile().SaveFileIfModified(false);

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

posted @ 2015-07-07 15:10  酒香不怕巷子深  阅读(1100)  评论(0编辑  收藏  举报