XComm ile veri okuma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
borntodie
Üye
Mesajlar: 5
Kayıt: 01 Nis 2008 04:57

XComm ile veri okuma

Mesaj gönderen borntodie »

Merhabalar,

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;
Cevapla