这样一个函数:
procedure CopyIntToBuf(var Buf:Buffer;var Start:longword;Value,NumType:LongWord);
var ByteInt:Byte4;
Begin
ByteInt:=IntToByte4(Value);
copymemory(buf+Start,@ByteInt,4);
Start:=Start+NumType;//????????
end;这里调用:
var
Buf:Buffer;
piSign:LongWord;
。
begin
piSign := piSign+8;
CopyIntToBuf(Buf,piSign,1,1);
CopyIntToBuf(Buf,piSign,1,1);
。。不解的是,Start:=Start+NumType;这一句,到底起到什么作用,难道每调用一次,值相加,会返回给pisign?
procedure CopyIntToBuf(var Buf:Buffer;var Start:longword;Value,NumType:LongWord);
var ByteInt:Byte4;
Begin
ByteInt:=IntToByte4(Value);
copymemory(buf+Start,@ByteInt,4);
Start:=Start+NumType;//????????
end;这里调用:
var
Buf:Buffer;
piSign:LongWord;
。
begin
piSign := piSign+8;
CopyIntToBuf(Buf,piSign,1,1);
CopyIntToBuf(Buf,piSign,1,1);
。。不解的是,Start:=Start+NumType;这一句,到底起到什么作用,难道每调用一次,值相加,会返回给pisign?
解决方案 »
- Delphi调用C#写的WebService时中文乱码的问题?
- 再問有關QuickRep報表問題---在線等
- 如何让一个tabSheet都没有的pageControl也弹出菜单?popupMenu属性在这种情况下不起作用了
- 一个数据统计的问题!急高分
- 简单的问题---用SQLConnection 连接SQL Server 2000 时出现错误"unable to load libmysql.dll"???
- 请问大家。这个奇怪问题该如何解答呢,多多帮忙哦,先谢了♣♣♣♣♣♣♣♣♣♣ϖ
- excel数据道出错误问题
- 各位前辈帮忙,关于combobox中写入数据库字段值的问题
- 我该怎么办!
- 一个简单问题,谢谢
- 问一个很简单但不常用的问题
- 有没有方法能删除两张表中某个字段相同的所有记录!
piSign := piSign+8;
CopyIntToBuf(Buf,piSign,1,1); 第一次为 pisign+8
CopyIntToBuf(Buf,piSign,1,1); 第二次还是为pisign+8啊
楼主你仔细睇吓,第二次调用前可没有piSign := piSign+8;哦。
procedure TForm1.Button1Click(Sender: TObject);
var
Len:integer;
begin
Len:=iniint(定义为1)+1;
TestPro(Len);
TestPro(Len);
showmessage(IntToStr(len));
end;procedure TForm1.TestPro(TestID:integer);
begin
TestID:=TestID+1;
end;
最后show出来的还是2要本不是3,为何?
begin
TestID:=TestID+1;
end;
改为:
procedure TForm1.TestPro(var TestID:integer);//注意定义中的var!
begin
TestID:=TestID+1;
end;
再试一次。建议去看看Delphi中关于参数传递的内容
^_^