I did a search for those two functions and the only places I found them are shown below. I have a question at the bottom.
I found this in tsutil.c (C:\Program Files\National Instruments\TestStand 3.1\API\CVI)
static HRESULT CVICALLBACK TS_ExprCtrl_ChangeCallback (CAObjHandle caServerObjHandle, void *caCallbackData)
{
int error = 0;
int panel = 0;
int control = 0;
TS_ExprCtrl *exprCtrl = (TS_ExprCtrl *) caCallbackData;
errChk( GetActiveXCtrlFromObjHandle (caServerObjHandle, &panel, &control));
if((exprCtrl) && (!exprCtrl->blockActiveXCtrlChangeEvents))
TS_ExprCtrl_UILCallback (panel, control, EVENT_VAL_CHANGED, caCallbackData, 0, 0); // Do not interpret return value as error
Error:
return error;
}
And I found numerous calls to both NewActiveXCtrl and NewActiveXCtrlFromFile in tsui.c (same location as above)
HRESULT CVIFUNC TSUI_NewApplicationMgr (int panel, const char *label, int top,
int left, int *controlID, int *UILError)
{
HRESULT __result = S_OK;
int ctrlId;
GUID clsid = {0x4483B, 0x7CBC, 0x4FA1, 0xB9, 0x2C, 0x19, 0x2, 0x8A, 0x66,
0xED, 0x74};
const char * licStr = NULL;
ctrlId = NewActiveXCtrl (panel, label, top, left, &clsid,
&TSUI_IID_ApplicationMgr, licStr, &__result);
__ActiveXCtrlErrorHandler();
return __result;
}
HRESULT CVIFUNC TSUI_OpenApplicationMgr (const char *fileName, int panel,
const char *label, int top, int left,
int *controlID, int *UILError)
{
HRESULT __result = S_OK;
int ctrlId;
ctrlId = NewActiveXCtrlFromFile (panel, label, top, left, fileName,
&TSUI_IID_ApplicationMgr, &__result);
__ActiveXCtrlErrorHandler();
return __result;
}
It seems that this is saying that I need teststand installed, but I thought that by adding tscvirun_supp.c to my CVI project, and having TestExec.c in my teststand workspace when I deploy would take care of all that. Do I need something else?