int WDCOMnum_val,DYCOMnum_val;
char WDCOM_lab[10]="com6",DYCOM_lab[10]="com8";
void GetCtrlValue()
{
GetCtrlVal(csszPanel,CSSZ_PANEL_WDCOM,&WDCOMnum_val);
GetCtrlVal(csszPanel,CSSZ_PANEL_DYCOM,&DYCOMnum_val);
}
void SetCtrlValue()
{
SetCtrlVal(csszPanel,CSSZ_PANEL_WDCOM,WDCOMnum_val);
SetCtrlVal(csszPanel,CSSZ_PANEL_DYCOM,DYCOMnum_val);
}
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "界面1.0.uir", PANEL)) < 0)
return -1;
if ((csszPanel = LoadPanel (0, "界面1.0.uir", CSSZ_PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}
int CVICALLBACK CSSZ_callback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
if ((csszPanel = LoadPanel (0, "界面1.0.uir", CSSZ_PANEL)) < 0)
return -1;
DisplayPanel(csszPanel);
int ret=0;
IniText ReadIniFileHandle;
ReadIniFileHandle = Ini_New(TRUE);
ret = Ini_ReadFromFile(ReadIniFileHandle,"date.ini");
if(ret==0)//读取文件成功
{
Ini_GetInt(ReadIniFileHandle,"CSSZ","WDCOM",&WDCOMnum_val);
Ini_GetInt(ReadIniFileHandle,"CSSZ","DYCOM",&DYCOMnum_val);
SetCtrlValue();
}
Ini_Dispose(ReadIniFileHandle);
break;
}
return 0;
}
int CVICALLBACK LJCK_callback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
int WDCOMnum_val=0,DYCOMnum_val=0;
char WDCOM_lab[10]="com6",DYCOM_lab[10]="com8";
int bod=9600;
switch (event)
{
case EVENT_COMMIT:
//int WDCOMnum_val=0;
int ret=0;
IniText ReadIniFileHandle;
ReadIniFileHandle = Ini_New(TRUE);
ret = Ini_ReadFromFile(ReadIniFileHandle,"date.ini");
if(ret==0)
{
Ini_GetInt(ReadIniFileHandle,"CSSZ","WDCOM",&WDCOMnum_val);
Ini_GetInt(ReadIniFileHandle,"CSSZ","DYCOM",&DYCOMnum_val);
SetCtrlValue();
}
Ini_Dispose(ReadIniFileHandle);
Connectionsta[0]=0;
RS232Error = OpenComConfig (WDCOMnum_val,WDCOM_lab, bod, 0, 8, 1, 512, 512);
if (RS232Error == 0)
{
com[1]=WDCOMnum_val;
SetComTime (WDCOMnum_val,0.3);
Connectionsta[1]=1;
SetCtrlVal(panelHandle,PANEL_WD_LED,1);
}
break;
}
return 0;
}
在最下面LJCK这部分的运行时会提示开头的setctrlval出错
Function SetCtrlValAnsi: (return value = -4 [Oxfffffffc]).Panel, menu bar, or control array handle is invalid