我在做delphi 7 对solidworks 进行二次开发时,在模架装配阶段遇到如下问题:
如下是我调用上下模座的程序,在程序运行时出现‘63*50*25' is not a valid floating point value的错误提示,63*50*25是我下模座数据库中的一个规格,与此相同,我的上模座的规格也是类似这种格式, ‘63*50*20',但是上模座就没有报错,调用两个零件的程序几乎相同,但是不知道为什么后面一个会报错。下面是调用的部分程序 ,请各位大神帮帮忙,为什么会出现这种错误?
谢谢大家了!!!
Table2.TableName:='shangmozuo.db';
Table2.Open;
Table2.First;
Comp:=Table2.Fields[0].AsString+'*'+Table2.Fields[1].AsString +'*'+
Table2.Fields[2].AsString;
if Comp <> Umod then
Repeat
Table2.Next;
Comp:=Table2.Fields[0].AsString+'*'+Table2.Fields[1].AsString +'*'+
Table2.Fields[2].AsString;
Until (Comp = Umod ) or Table2.Eof;
if Comp <> Umod then
showmessage('数据库不匹配'); PrtDoc:=SwApp.INewPart;
PrtDoc.QueryInterFace(IID_IModelDoc2,moddoc);
Titlename:='上模座';
ModDoc.SetTitle2(TitleName) ;
ModDoc.ViewDisplayHiddengreyed;
SMZ:= Titlename +'-1';
FileName:=WorkingDir+TitleName+'.SLDPRT';
Draw_shangmozuo;
ModDoc.SaveAs4(FileName,0,1,errors,Warning); Table2.Close;
Table2.TableName:='';
AsmDoc.IAddComponent2(FileName,0,0.2,0); //下模座
Table2.TableName:='xiamozuo.db';
Table2.Open;
Table2.First;
Comp:=Table2.Fields[0].AsString+'*'+Table2.Fields[1].AsString +'*'+
Table2.Fields[2].AsString;
if Comp <> Lmod then
Repeat
Table2.Next;
Comp:=Table2.Fields[0].AsString+'*'+Table2.Fields[1].AsString +'*'+
Table2.Fields[2].AsString;
Until (Comp = Lmod) or Table2.Eof;
if Comp <> Lmod then
showmessage('数据库不匹配');
PrtDoc:=SwApp.INewPart;
PrtDoc.QueryInterFace(IID_IModelDoc2,moddoc);
Titlename:='下模座';
ModDoc.SetTitle2(TitleName) ;
ModDoc.ViewDisplayHiddengreyed;
XMZ:= Titlename +'-1';
FileName:=WorkingDir+TitleName+'.SLDPRT';
Draw_xiamozuo;
ModDoc.SaveAs4(FileName,0,1,errors,Warning); Table2.Close;
Table2.TableName:='';
AsmDoc.IAddComponent2(FileName,0,0,0);
如下是我调用上下模座的程序,在程序运行时出现‘63*50*25' is not a valid floating point value的错误提示,63*50*25是我下模座数据库中的一个规格,与此相同,我的上模座的规格也是类似这种格式, ‘63*50*20',但是上模座就没有报错,调用两个零件的程序几乎相同,但是不知道为什么后面一个会报错。下面是调用的部分程序 ,请各位大神帮帮忙,为什么会出现这种错误?
谢谢大家了!!!
Table2.TableName:='shangmozuo.db';
Table2.Open;
Table2.First;
Comp:=Table2.Fields[0].AsString+'*'+Table2.Fields[1].AsString +'*'+
Table2.Fields[2].AsString;
if Comp <> Umod then
Repeat
Table2.Next;
Comp:=Table2.Fields[0].AsString+'*'+Table2.Fields[1].AsString +'*'+
Table2.Fields[2].AsString;
Until (Comp = Umod ) or Table2.Eof;
if Comp <> Umod then
showmessage('数据库不匹配'); PrtDoc:=SwApp.INewPart;
PrtDoc.QueryInterFace(IID_IModelDoc2,moddoc);
Titlename:='上模座';
ModDoc.SetTitle2(TitleName) ;
ModDoc.ViewDisplayHiddengreyed;
SMZ:= Titlename +'-1';
FileName:=WorkingDir+TitleName+'.SLDPRT';
Draw_shangmozuo;
ModDoc.SaveAs4(FileName,0,1,errors,Warning); Table2.Close;
Table2.TableName:='';
AsmDoc.IAddComponent2(FileName,0,0.2,0); //下模座
Table2.TableName:='xiamozuo.db';
Table2.Open;
Table2.First;
Comp:=Table2.Fields[0].AsString+'*'+Table2.Fields[1].AsString +'*'+
Table2.Fields[2].AsString;
if Comp <> Lmod then
Repeat
Table2.Next;
Comp:=Table2.Fields[0].AsString+'*'+Table2.Fields[1].AsString +'*'+
Table2.Fields[2].AsString;
Until (Comp = Lmod) or Table2.Eof;
if Comp <> Lmod then
showmessage('数据库不匹配');
PrtDoc:=SwApp.INewPart;
PrtDoc.QueryInterFace(IID_IModelDoc2,moddoc);
Titlename:='下模座';
ModDoc.SetTitle2(TitleName) ;
ModDoc.ViewDisplayHiddengreyed;
XMZ:= Titlename +'-1';
FileName:=WorkingDir+TitleName+'.SLDPRT';
Draw_xiamozuo;
ModDoc.SaveAs4(FileName,0,1,errors,Warning); Table2.Close;
Table2.TableName:='';
AsmDoc.IAddComponent2(FileName,0,0,0);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货