Hallo,
ich muß einen Meßwertgeber über die ser. Schnittstelle abfragen. Der Ablauf: PC an Gerät 1 Byte (Ack) = #6 als Aufforderung, den Meßwert zu senden und dann antwortet das Gerät mit dem Meßwert. Dem Forum habe ich entnommen, daß man sowas gut mit AsyncPro machen kann. Hab ich bei mir in D6 installiert und klappt auch soweit. Bis auf eine Kleinigkeit:
ich arbeite mit dem Beispiel aus ExCom:
(ich weiß leider nicht, wie man den Quellcode in Originalform bringen kann, tut mir leid!)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word); var I : Word; C : Char; S : String; s1, s2 : String; begin S := ''; for I := 1 to Count do begin C := ApdComPort1.GetChar; case C of #0..#31 : ; else S := S + C; end; end; Gewicht := S; end; |
In der Originalversion (Ausgabe über Showmessage) kommen nach einer Sendeaufforderung zwei Antworten (Messageboxen) mit Teilstrings, die sammengesetzt den richtigen Wert ergeben würden. Wo kann der Grund liegen?
Gruß ibh_compucat
Moderiert von
raziel: Delphi-Tags hinzugefügt