iCAx开思网

标题: Debug Error 如何解决 [打印本页]

作者: freestorn    时间: 2009-11-16 22:21
标题: Debug Error 如何解决
在3.0上用VC6开发的应用程序,对话框在初始时,执行修改模型参数的值,但是模型参数的值能修改,但是程序返回时就出错了。
部分程序段如下:
DividePointActFn();
ParamUpdate("ML",distance);
ParamUpdate("MB1",vanewidth1);
ParamUpdate("MB2",vanewidth2);

子程序:
ProError DividePointActFn()
{   ProError status;
ProPath PartName;
// ProMdl solid_mdl;
ProStringToWstring(PartName,"E:\\EPROE-WORK\\MODELF.prt");
status=ProMdlLoad (PartName, PRO_MDL_PART,PRO_B_FALSE, &solid_mdl);
if (status == PRO_TK_NO_ERROR&&solid_mdl!=NULL)
{
       //显示并再生装入的零件模型
  ProMdlDisplay(solid_mdl);
  ProMdlWindowGet(solid_mdl,&w_id);
  ProWindowActivate(w_id);
  ProSolidRegenerate ((ProSolid(solid_mdl)),PRO_B_TRUE);
}
  return ( PRO_TK_NO_ERROR );

}

void ParamUpdate(char *Name,  //(In)参数名
     double parameter)//参数值
{
ProError status;
    wchar_t PName;
ProParameter param;
ProParamvalue value;;
status=ProMdlToModelitem(solid_mdl, &modelitem);
if(status==PRO_TK_NO_ERROR)
{
//  AfxMessageBox("获得模型项选项");
  ProStringToWstring(&PName,Name);
  status=ProParameterInit(&modelitem,&PName,&param);
//  if(status==PRO_TK_NO_ERROR)
//   AfxMessageBox("初始化papra成功");
  //根据指定的参数名获得参数对象指针
  ProParameterValueGet(&param,&value);
//  if(status==PRO_TK_NO_ERROR)
//   AfxMessageBox("获得value句柄");
  value.value.d_val=parameter;
//  AfxMessageBox("赋初值");
  //新的参数值设置
  ProParameterValueSet(&param, &value);
  ProSolidRegenerate((ProSolid)solid_mdl,PRO_B_TRUE);
}
else if(status==PRO_TK_BAD_INPUTS)
  AfxMessageBox("The mdl argument is NULL");
else if(status==PRO_TK_INVALID_PTR)
  AfxMessageBox("The handle is invalid");
}
就是调用完ParamUpdate返回时就出错了,希望前辈们能给小弟指点一二!!先谢了!!
作者: DavidJiang    时间: 2009-11-17 13:39
3.0能用vc6开发么,换成vs2005试试
作者: freestorn    时间: 2009-11-18 20:20
可以的啊,问题已经解决了,还是谢谢啊
作者: ab441df    时间: 2010-4-1 15:32
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 iCAx开思网 (https://www.icax.net/) Powered by Discuz! X3.3