![]() |
AW: TComPort - RS232 Ausgabe in Memo
Hast du versehentlich oder absichtlich meine obige Antwort überlesen? Dort würdest du sicher die Antwort finden.
|
AW: TComPort - RS232 Ausgabe in Memo
Oder du benutzt, wie auch schon vorgeschlagen, ein TComDataPacket
|
AW: TComPort - RS232 Ausgabe in Memo
Zitat:
sReceive ist ein String? |
AW: TComPort - RS232 Ausgabe in Memo
Ja.
TComDataPacket macht intern praktisch genau das Selbe, nur eben voll automatisch. Man muß nur als Ende-Zeichen den Zeilenumbruch (#13) angeben. |
AW: TComPort - RS232 Ausgabe in Memo
Heyho,
das TComDataPacket habe ich nun mal probiert und die Formatierung ist so, wie sie sein soll. Aber: Stelle ich die COM-Verbindung in meinem Tool her und starte dann erst den Cisco Router, sehe ich die Ausgabe vom Startprozess des Routers im Memo. Danach kann ich meine Befehle absetzen und auch dort wird alles im Memo angezeigt. Alles super! :) Wenn der Cisco Router aber schon gestartet ist, ich die COM-Verbindung im Tool dann erst herstelle und im Anschluss meine Befehle absetze, bleibt das Memo leer... Woran kann das denn liegen? Es sieht so aus, als wolle mein Tool von der Gegenstelle aus das erste mal getriggert werden... Mein Code sieht aktuell so aus:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin ComDataPacket1.StopString:=#13; end; procedure TForm1.Button1Click(Sender: TObject); begin // Verbindungseinstellungen Cisco-Defaults und COM1 ComPort1.Port:='COM1'; ComPort1.BaudRate:=br9600; ComPort1.DataBits:=dbEight; ComPort1.Parity.Bits:=prNone; ComPort1.StopBits:=sbOneStopBit; ComPort1.FlowControl.FlowControl:=fcNone; ComPort1.Connected:=true; // Verbindung herstellen end; procedure TForm1.Button2Click(Sender: TObject); begin ComPort1.Connected:=false; // Verbidnung trennen end; procedure TForm1.Button3Click(Sender: TObject); var Befehl1:String; // Variable vom Typ string begin // Wenn die Verbindung hergestellt ist, dann Befehl senden if ComPort1.Connected=true then begin Befehl1:='Ich bin ein Befehl' + #13; ComPort1.WriteStr(Befehl1); // Befehl senden end; end; procedure TForm1.ComPort1AfterClose(Sender: TObject); begin Label13.Caption:='Status: Nicht Verbunden'; // Status "Nicht Verbunden" anzeigen end; procedure TForm1.ComPort1AfterOpen(Sender: TObject); begin Label13.Caption:='Status: Verbunden'; // Status "Verbunden" anzeigen end; procedure TForm1.ComDataPacket1Packet(Sender: TObject; const Str: string); begin Memo1.Lines.Add(Str); // Ausgabe Rx/Tx Data in Memo end; |
AW: TComPort - RS232 Ausgabe in Memo
So,
alles funktioniert nun. Die Verbindung konnte nur bei einem bestimmten Gerät nicht vom Tool aus aufgebaut werden. Ich danke Euch für die Hilfe. Mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz