发布于 2009-07-23 18:58:58
0楼
#pragma option(mbcs)
double hhMax;
double hhMin;
BOOL FucCheck;
char StrMax[20];
char StrMin[20];
char Str[100];
CMN_ERROR error;
DM_VARKEY dmVarKey;
DWORD dwItems;
DM_VARLIMIT dmVarLimit;
dmVarKey.dwKeyType=DM_VARKEY_NAME;
strcat(dmVarKey.szName,GetTagChar("CalcTagName"));
FucCheck=DMGetVarLimits (GetTagChar("SeverPath"),&dmVarKey,1,&dmVarLimit,&error );
if (FucCheck==TRUE)
{
hhMax=dmVarLimit.dmMaxLimit.u.dblVal;
hhMin=dmVarLimit.dmMinLimit.u.dblVal;
if (hhMax!=0.0)
{
sprintf(StrMin,"%f",hhMin);
sprintf(StrMax,"%f",hhMax);
strcat(Str,StrMin);
strcat(Str," ~ ");
strcat(Str,StrMax);
//MessageBox(NULL,StrMin,"无限制",MB_OKMB_ICONSTOPMB_APPLMODAL);
}
else
{
//MessageBox(NULL,"无限制","无限制",MB_OKMB_ICONSTOPMB_APPLMODAL);
strcat(Str,"无限制");
}
return Str;
}
不定时出现出现脚本服务出错的情况!
经测试问题应该出现在这一段。
sprintf(StrMin,"%f",hhMin);
sprintf(StrMax,"%f",hhMax);
strcat(Str,StrMin);
strcat(Str," ~ ");
strcat(Str,StrMax);
多次连续调用会使脚本服务跟不上,所以出错。
sprintf(StrMin,"%f",hhMin); 的功能是为了把浮点转换为字符串型,因为对C脚本不是很熟悉,所以想不到还有什么更好的办法,请指教。