服务器端传一个double参数给PDA,PDA对这个参数*2或者/2发回服务器。
第一天测试好好的;第二天测试,这个参数*2或/2后突然就变成了“正无穷大”!于是我在*2或/2的下面messagebox了一下,发现是对的,传给服务器也还是正确的,但是只要不给它messagebox,就又变“正无穷大”了……
这是怎么回事呢?有没有人碰到过?
第一天测试好好的;第二天测试,这个参数*2或/2后突然就变成了“正无穷大”!于是我在*2或/2的下面messagebox了一下,发现是对的,传给服务器也还是正确的,但是只要不给它messagebox,就又变“正无穷大”了……
这是怎么回事呢?有没有人碰到过?
Decimal我刚刚试了一下,因为很多其它地方也用到了这个参数,改了好多地方,刚刚出错了……还没仔细检查
还有没有别的办法捏?
再大都不管了。
解释:PDA执行地图放大操作,但它自己没有此功能,只是将地图比例尺传到服务器,服务器根据此比例尺发送放大后的地图给PDA
过程:PDA点击放大按钮后,PDA将 在mousedown时将服务器传来的scale*2再发回服务器string strMapOper = "";//要发送给服务器的字符串
double scale=0;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
//...获得e的经纬度坐标(curX,curY)传给zoomin,作为中心点
strMapOper = Zoomin(scale, curX, curY);//此scale是服务器发来的当前的scale
MessageBox.Show(strMapOper);
}
private string Zoomin(double scale1, double centerX, double centerY)
{
double CurScale = scale1 * 2;
string strsend = "Scale=" + CurScale.ToString() + "," + "CenterX=" + centerX.ToString() + "," + "CenterY=" + centerY.ToString();
//MessageBox.Show(CurScale.ToString());//如果有这一句,scale是正确的
return strsend;
}
public void sendmymsg()
{
//...与服务器连接等等
string sendData=strMapOper;
//如果上面不messagebox,在这里得到的strMapOper中的scale便成为“正无穷大”了
//...send给服务器
}
只要不messagebox,到了发送的函数中就出错了……难道与发送有关?