![]() |
TApdComPort Empfangsprobleme
Hi,
ich habe aktuell ein paar Schwierigkeiten Daten mit der TApdComPort Komponente korrekt zu empfangen. Die Objekteigenschaften habe ich zum Großteil (bis auf Kleinigkeiten wie Port, Baud, usw) auf default gelassen. Die Hardware sendet nun folgendes: Ein Startbyte als Char und darauf folgendend ein Kommando ebenfalls als Char. Anschließend folgt dann eine Liste, bei der jede Zeile als String gesendet wird. Die Stringliste wird mit linefeeds gesendet. Nun möchte ich die gesendete Liste in Delphi in eine TStringlist befördern. Der aktuelle Code den ich mir zusammengebastelt habe sieht so aus:
Code:
Eigentlich funktioniert der Code im großen und ganzen auch. Allerdings werden ab und zu zeichen verschluckt und kommen nicht korrekt an so kann aus einem "2500" schonmal ein "500" werden.
procedure TForm1.ComPortTriggerAvail(CP: TObject; Count: Word);
var I: Word; C: Char; S: string; begin S := ''; for i := 1 to Count do begin c := ComPort.GetChar; case Ord(C) of 255: test.Clear; 201: ShowMessage('Liste erfolgreich übertragen'); 202: ShowMessage('Übertragung fehlgeschlagen !'); 203: test.Clear; else case C of #10: ; #13: begin test.Add(trim(s)); s := ''; end; else s := s + c; end; end; end; if test.Count = 16 then ShowMessage(test.Text); end; Nutze ich zur Kommunikation z.B. Hterm wird alles korrekt angezeigt. Wo kann das Problem liegen ? Grüße |
AW: TApdComPort Empfangsprobleme
Die Variable S ist in deinem Code Lokal.
Dieser String muss aber eine Variable des Formulars sein, da ja das Event TriggerAvail öfters aufgerufen werden kann. Die Daten werden auf der seriellen Schnittstelle quasi zeitlich zerstückelt. Beispiel - der Sender schickt "abcdefghijklmnopqrstuvwxyz". Der Empfänger bekommt mehrere Events: 1. "abcdefgh" 2. "ij" 3. "k" 4. "lmnopqrstuvwxyz" Wie man sieht hat der Empfänger alle Daten bekommen, aber wahrscheinlich nicht so, wie du dir das vorgestellt hast. Weiterer Lesestoff (englisch): ![]() Dort wird über TCP/IP gesprochen, aber alles trifft genauso auf RS232 zu. |
AW: TApdComPort Empfangsprobleme
Hallo Blasmaster,
welche Delphi-Version benutzt Du? Bis bald Chemiker |
AW: TApdComPort Empfangsprobleme
@shmia
Danke das hat weitergeholfen :) @Chemiker Delphi 7 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 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