我有困难!有人懂floating数值类型不匹配问题吗?

feihong6 2002-05-07 10:17:04
我有这么个问题!
下面的函数实现Send_Buffer缓冲区向Received_Buffervar缓冲区发送数据,
k:已经在另一个单元赋值,在本函数ShowMessage(IntToStr(k));中已经证明.
但是继续执行后出错,错误信息:Project clinet1.exe raised exception
class EinvalidOp with messsage 'invalid floating point operation',
process stoped.use step or run to continue.
看起来是数值类型不匹配问题,但我不清楚,请你指点!

unit main;
var
k:integer; //k是小循环次数

procedure Tmain_form.ToolButton2Click(Sender: TObject);
Var


b:double; //b是比率
s,j,i,x:integer; i是大循环,j是小循环,x是大循环次数,k是小循环次数,s是累积数

begin
ShowMessage(IntToStr(k));
x:=Memo2.Lines.Count-1;
//k:=10;
s:=0;
for i:=0 to x do

for j := 1 to k do
begin

if Not hClientSocket.socket.Connected then Begin
Memo3.Lines.Add('ͨÐŶ˿ڴ¦ÓÚ¶Ï¿ª×´Ì¬£¬ÇëÁ¬½Óºó·¢ËÍ');
Exit;
End;

Strcopy(Send_Buffer,PChar(Memo2.Lines[i]));


Received_len:=CmdSend(@Send_Buffer,@Received_Buffer);//
If Received_len<0 Then
Memo3.Lines.Add('ͨÐŶ˿ڴ¦ÓÚ¶Ï¿ª×´Ì¬£¬ÇëÁ¬½Óºó·¢ËÍ')
Else
Memo3.Lines.Add('Comm:='+Received_Buffer);
Memo1.Lines.Add(IntToStr(i+1)+'successful');
s:=s+1;

end;
b:=s/(k*(x+1));
Memo1.Lines.Add('totle '+IntToStr(s)+' successful');
Memo1.Lines.Add(FloatToStr(b*100)+'% successful');
end
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyu1221 2002-05-14
  • 打赏
  • 举报
回复
代码太乱了,看不清楚
feihong6 2002-05-07
  • 打赏
  • 举报
回复
请大家密切关注
feihong6 2002-05-07
  • 打赏
  • 举报
回复
此问题有高分-----无上限
feihong6 2002-05-07
  • 打赏
  • 举报
回复
大家帮助看看,应该很简单的:)

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧