Hız bilgisini GPS'den okumaya çalışıyorum ve bu bilgi $GPRMC ile gelmekte. Yazılıma $GPRMC ile ilgili kodları eklediğimde; program çalışıyor yazılım olarak da hata vermiyor ancak; bilgilerin gelmesini gördükten bir süre sonra Debugger Exception Notification hatası veriyor. Bunun sebebi ne olabilir ? XComm1.ReadString( s, 1); komutunu iki kere kullanıyorum, acaba bu durum mu sorun oluşturuyor? Yardımcı olabilir misiniz?
public
{ Public declarations }
sonOkunan:string;
end;
Kod: Tümünü seç
procedure TForm3.XComm1Data(Sender: TObject; const Received: Cardinal);
var
s,x : String;
i,j : integer;
s1,s2: TStringList;
begin
s1 := TStringList.Create;
s1.Delimiter := ',';
s2 := TStringList.Create;
s2.Delimiter:= ',' ;
for i := 0 to Received - 1 do
begin
XComm1.ReadString( s, 1);
if s = #10 then
begin
if copy(sonOkunan,1,6)='$GPGGA' then
begin
s1.Clear;
s1.DelimitedText:=sonOkunan;
if Form5 <> nil then
begin
Form5.setCoordinates( s1[ 4], s1[ 2], s1[ 9]);
end;
end;
if Form4 <> nil then
Form4.Memo1.Lines.Add( sonOkunan);
sonOkunan := '';
end
else
begin
sonOkunan := sonOkunan + s;
Application.ProcessMessages;
for j := 0 to Received - 1 do
begin
XComm1.ReadString( x, 1);
if x = #10 then
if copy(sonOkunan,1,6)='$GPRMC' then
begin
s2.Clear;
s2.DelimitedText:=sonOkunan;
if Form7 <> nil then
begin
Form7.setspeed ( s2[6] );
end;
end;
end;
s1.Free;
s2.Free;
end;
end;
end;