![]() |
AW: Waagenwerte über com-Schnittstelle einlesen
Sorry, lag an mir. jetzt stürzt das Programm nicht mehr ab.
Und wo gebe ich jetzt an das die Werte im Com7 abgeholt werden sollen? |
AW: Waagenwerte über com-Schnittstelle einlesen
Hi,
ich würde schätzen im Objektinspektor, wenn du deine Comport-Komponenten-Instanz auf dem Formular ausgewählt hast. LG, Frederic |
AW: Waagenwerte über com-Schnittstelle einlesen
da ist auch bei 'Port:com7' eingestellt.
sollte er denn jetzt schon Waagenwerte in den Memofeldern anzeigen? |
AW: Waagenwerte über com-Schnittstelle einlesen
Hi,
hast du denn das RxChar-Event mit deiner Methode verknüpft? Dann sollte er was anzeigen, wenn die Waage was sendet. LG, Frederic |
AW: Waagenwerte über com-Schnittstelle einlesen
Du kannst auch mal einen Brechpunkt da reinhängen, gegf. kommen da #0 Zeichen am Anfang, dann siehst Du nichts.
Es kann auch sein dass Du erst einen sinnvollen "String" schicken musst um eine Antwort zu bekommen .... |
AW: Waagenwerte über com-Schnittstelle einlesen
was meinst du denn mit 'Methode'?
|
AW: Waagenwerte über com-Schnittstelle einlesen
Hi,
irgendwo in deinem Code steht doch
Delphi-Quellcode:
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var s: AnsiString; begin ComPort1.ReadStr(s, Count); FInBuffer := FInBuffer + s; InterPretInbuffer; end; Das ist eine Methode. Die wird aber nicht durch göttliche Eingebung aufgerufen, sondern dafür muss sie passend mit der Komponente verknüpft sein. Auf der zweiten Registerkarte im Objektinspektor bei ausgewählter Comport-Instanz sollte in der Zeile OnRxChar rechts daneben was stehen - wenn da nur ein leeres weißes Feld ist, dann da mal nen Doppelklick reinmachen (wobei ich grad nicht weiß, ob er es hinbekommt, wenn es eine Methode des Names dann schon gibt). LG, Frederic |
AW: Waagenwerte über com-Schnittstelle einlesen
Also dann müsste die Methode aufgerufen werden, denn dass hatte ich vorhin schon gemacht.
Momentan sieht mein ganzer Quelltext grade so aus.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CPort; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; ComPort7: TComPort; Edit1: TEdit; Memo1: TMemo; Memo2: TMemo; procedure FormActivate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ComPort7RxChar(Sender: TObject; Count: Integer); private FInBuffer: AnsiString; procedure InterPretInBuffer; { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; hcomm : THandle; COM_enum : integer; implementation {$R *.dfm} procedure TForm1.FormActivate(Sender: TObject); begin ComPort7.Connected := true end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; procedure TForm1.ComPort7RxChar(Sender: TObject; Count: Integer); var s: AnsiString; begin ComPort7.ReadStr(s, Count); FInBuffer := FInBuffer + s; InterPretInbuffer; end; procedure TForm1 .InterpretInbuffer; var i:Integer; part:AnsiString; begin i := Pos(#10,FInBuffer); Memo1.Lines.Add(FInBuffer); while i>0 do begin Part := Copy(FInBuffer,1,i-1); FInBuffer := Copy(FInBuffer,i+1,Length(FInBuffer)); Memo2.Lines.Add(Part); i := Pos(#10,FInBuffer); end; end; end. |
AW: Waagenwerte über com-Schnittstelle einlesen
Hi,
dann solltest du Thomas' Ansatz mit dem Breakpoint weiterverfolgen. LG, Frederic |
AW: Waagenwerte über com-Schnittstelle einlesen
Liste der Anhänge anzeigen (Anzahl: 1)
Mit den Breakpoints komme ich nich weiter, habe mehrere gesetzt, aber ich bekomme keine Werte von der Waage zu sahen.
Was kann man denn eigentlich anhand dieser Tabelle erkennen?Anhang 35412 Seite 147 Tabelle 11-7 Muss ich anhand dessen auch noch etwas einstellen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 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