Forum: PC-Programmierung Synaser - Receive?


von BlackBetty (Gast)


Lesenswert?

Hallo,

ich bin gerade drüber mit LAZARUS über RS232 zu communizieren.

Senden kann ich ohne Probleme. Das einzige was ich nicht hinbekomme ist 
das empfangen.

Ich hab jetzt die Procedur Recvstring(..) gefunden. Aber wie bringe ich 
das Empfangene dann in ein Memofeld oder so?

Bitte helft mir.

In Codebeispiel wäre spitze!


Danke schonmal!

von Freddy (Gast)


Lesenswert?

Okey. Will nur ma schnell meinen Neuen Stand mitteilen.

Hab jetzt

eine Variable Empf:= ser.RecvPacket(..) deffiniert und wollte jetzt

edit2.Text := Empf



Nun steht dort aber:

"Got ANSIString, TString expected"

..

Nach 3 Stunden auf google weis ich aber immer noch nicht wie ich die 
Verda**te Variable von dem ANSI in den Normalen TString wandeln kann.


Hat da jemand ne Idee!?
Oder nen ganz anderen Ansatz!?

lg

von BlackBetty (Gast)


Lesenswert?

Hallo zusammen,

ich schliese mich Freddy an und ergänze zugleich noch:

Hab jezt folgenden Code:

procedure TForm1.Button2Click(Sender: TObject);
  var data:string;
      synt : char;

begin
  data:=  Edit1.Text + CR;
  ser.SendString(data);
  sleep(200);
  Edit1.text := ' ';

 recvdt := ser.RecvTerminated(1000,CRLF);
 synt := recvdt[1];

 Panel1.Caption := synt;

end;


________________________

So wenn ich das jetzt teste kann ich ohne Probleme Senden Aber wenn die 
Zeichenkette vom AtMega8 kommt dann kommt ne fehlermeldung:

"Acess voilation" oder so..

Ich geh hier langsam unter SEIT 2 ELENDEN TAGEN such ich und keiner 
Hilft mir.

Bitte ändert das!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.