相关信息
要使用这些函数和对象属性,尤其相关的对象名称,您需要通过引用来获取。以下是一些属性路径的列表,这些路径引用了一些常见的属性对象。
属性 | | 属性路径 |
Current Sequence File: | | RunState.SequenceFile |
Current Sequence: | | RunState.Sequence |
Current Step: | | Step 或 RunState.Step |
Calling Sequence File: | | RunState.Caller.SequenceFile |
Calling Sequence: | | RunState.Caller.Sequence |
Calling Step: | | RunState.Caller.Step |
使用NameOf()函数
如果您需要从 Step 中的 Expressions(例如 Pre- 或 Post-Expression)访问属性名称,则可以使用此函数。 NameOf()函数返回作为参数传递的任何属性对象名称。
您可以使用上述属性路径之一作为要传递的参数。例如,您可以使用以下Expression 来获取当前序列的名称:
Locals.MySequenceNameVariable = NameOf(RunState.Sequence)
其中
MySequenceNameVariable是一个本地字符串变量,您可以定义它来保存当前序列的名称。
使用.Name 对象属性和 AsPropertyObject().Name属性您可以使用 .Name 属性来访问任何属性对象或步骤的名称,例如上面列出的那些。
如果对象没有属性名称以便您可以使用
.Name访问器,则可以使用
AsPropertyObject()方法将该对象转换为通用对象。该对象现在将具有名称属性,您现在可以使用
.Name访问器访问该属性。下面是一个例子:
Locals.MySequenceNameVariable = RunState.Sequence.AsPropertyObject().Name
使用 TestStand API如果您需要从外部代码模块访问属性名称,您可以使用 TestStand API。首先,对于需要获取的名称属性,您需要通过引用获取相关对象,然后读取对象类中定义的 Name 属性。
例如,如果要获取当前序列的名称,则可以获取引用当前序列的属性对象。如果将序列上下文传递给代码模块,可以通过 ThisContext.Sequence 读取 Name 属性。有关如何使用 ActiveX 以正确访问这些属性的信息,请参阅您的编程环境帮助。
对于LabWindows/CVI,下面是获取对象引用然后获取该对象名称的示例:
TS_PropertyGetPropertyObject (testData->seqContextCVI, &errorInfo,"RunState.Sequence", 0, &CurrentSequence);
TS_PropertyGetProperty (CurrentSequence, &errorInfo, TS_PropertyName, CAVT_CSTRING, &SequenceName);