相關資訊
要使用這些function和object Property,您需要其名稱的object並需要取得它的reference。以下是一些Property路徑的列表,這些路徑引用了一些常見的Property objects:
Property | | Property Path to Use |
Current Sequence File: | | RunState.SequenceFile |
Current Sequence: | | RunState.Sequence |
Current Step: | | Step or RunState.Step |
Calling Sequence File: | | RunState.Caller.SequenceFile |
Calling Sequence: | | RunState.Caller.Sequence |
Calling Step: | | RunState.Caller.Step |
使用NameOf()Function
如果您需要從step中的expression(例如pre- or post-expression)存取property名稱,則可以使用此函數。 NameOf()function會返回作為參數傳遞的任意property object其名稱。
您可以使用上述property路徑之一作為要傳遞的參數。例如,您可以使用以下expression來獲取當前sequence的名稱:
Locals.MySequenceNameVariable = NameOf(RunState.Sequence)
其中MySequenceNameVariable是一個 local string variable,您可以定義它來保存當前sequence的名稱。
使用.Name 以及AsPropertyObject().Name Properties
您可以使用 .Name property來存取任何property object或step的名稱,例如上面列出的那些。如果object沒有name 的property的話你可以使用.Name accessor,你可以使用AsPropertyObject()方法將該object轉換為generic object。此時該對象將具有名稱 property,而您現在就可以使用.Name accessor存取該property。範例如下:
Locals.MySequenceNameVariable = RunState.Sequence.AsPropertyObject().Name
使用 TestStand API
如果您需要從external code module存取property名稱,您可以使用 TestStand API。首先,您將需要對您要獲取名稱property的object做references,然後讀取object's class中定義的Name property。
例如,如果您想獲取當前sequence的名稱,您可以獲取對應當前sequence的property object,如果您是要將sequence context傳遞給您的code module,則是用ThisContext.Sequence,然後讀取 Name property。有關如何使用 ActiveX 以正確存取這些property的信息,請參閱您的programming environment help。
對於LabWindows/CVI,下面是獲取object reference然後獲取該object名稱的範例:
TS_PropertyGetPropertyObject (testData->seqContextCVI, &errorInfo,"RunState.Sequence", 0, &CurrentSequence);
TS_PropertyGetProperty (CurrentSequence, &errorInfo, TS_PropertyName, CAVT_CSTRING, &SequenceName);