主题:[讨论]是高手的~~站出来说话```
procedure TfrmMain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
tmpStr: Array [0..1000] of Char;
begin
[color=0000FF]//SetLength(tmpStr,BufferLength);[/color]
Move(Buffer^,PChar((@tmpStr)^),BufferLength);
if Memo1.Visible then begin
Memo1.Lines.Clear;
Memo1.Lines.Add(tmpStr);
end;
DO_GPSString(tmpStr,GPSR1);
lblJD.Caption := GPSR1.LonHemi + FloatToStr(GPSR1.Lon);
lblWD.Caption := GPSR1.LatHemi + FloatToStr(GPSR1.Lat);
lblHB.Caption := IntToStr(Round(GPSR1.Alt));
lblTime.Caption := GPSR1.UTC;
pbxSat.Repaint;
end;
请问这段接收数据的代码那里有问题啊??为什么提示错误啊??
[Error] Main.pas(82): Constant object cannot be passed as var parameter
问题就出在蓝色字体部分~~~
BufferLength: Word);
var
tmpStr: Array [0..1000] of Char;
begin
[color=0000FF]//SetLength(tmpStr,BufferLength);[/color]
Move(Buffer^,PChar((@tmpStr)^),BufferLength);
if Memo1.Visible then begin
Memo1.Lines.Clear;
Memo1.Lines.Add(tmpStr);
end;
DO_GPSString(tmpStr,GPSR1);
lblJD.Caption := GPSR1.LonHemi + FloatToStr(GPSR1.Lon);
lblWD.Caption := GPSR1.LatHemi + FloatToStr(GPSR1.Lat);
lblHB.Caption := IntToStr(Round(GPSR1.Alt));
lblTime.Caption := GPSR1.UTC;
pbxSat.Repaint;
end;
请问这段接收数据的代码那里有问题啊??为什么提示错误啊??
[Error] Main.pas(82): Constant object cannot be passed as var parameter
问题就出在蓝色字体部分~~~