![]() |
Intraweb - auf Ereignis reagieren
'loha Folks,
folgendes Szenario: Über ein Webinterface wird eine Nachricht an ein GPI (Hardware, welche in diesem Falle an einem CAN Bus hängt) geschickt. Diese GPI gibt Antwort. Nun möchte ich nichts anderes tun, als das OnRxChar Ereignis (vom Comport), welches eine Antwort mitbringt, in einem Memo auf dem Webinterface anzuzeigen. Nun bin ich etwas planlos unterwegs und finde nicht heraus, wie ich diese Antwort im Browser anzeigen kann. Das Webinterface hat ein Memo Objekt, welches eigentlich für diese Antwort vorgesehen wäre.
Delphi-Quellcode:
Die eigentliche Antwort ist in diesem CAN232OutputBuffer drin. Wenn ich da einen Brakepoint setze und dann nachschaue, ist auch definitiv das drin, was ich auf dem Webinterface dargestellt haben möchte.
procedure TIW_Main.ComPortRxChar(Sender: TObject; Count: Integer);
var InputBuffer: String; i,Index : integer; begin ComPort.ReadStr(InputBuffer, Count); for i := 1 to Count do begin if InputBuffer[i] <> #13 then begin CAN232OutputBuffer := CAN232OutputBuffer + InputBuffer[i]; end else begin while Pos('#7', CAN232OutputBuffer) > 0 do CAN232OutputBuffer[Pos('#7', CAN232OutputBuffer)] := '0'; if (Length(CAN232OutputBuffer) > 1) and (CAN232OutputBuffer[1] <> 'A') then begin IWMemo1.Lines.Add(#13); IWMemo1.Lines.Add(CAN232OutputBuffer); // hier ist die Antwort drin, diese müsste noch auf dem IWMemo1 angezeigt werden. end; CAN232OutputBuffer := ''; //update page IWMemo1.Show; end; end; end; Muss ich die Seite einfach erneut an den Browser senden? Wenn ja, wie? Oder geht das anders? Grüsse hirnstroem |
Re: Intraweb - auf Ereignis reagieren
Wenn ich anstatt eines Memo Objektes ein Label nehme, funktioniert das ganze tadellos -.-
Delphi-Quellcode:
^^ funktioniert nicht
IWMemo1.Lines.Add(#13);
IWMemo1.Lines.Add(CAN232OutputBuffer);
Delphi-Quellcode:
^^ funktioniert
IWLabel1.Caption := CAN232OutputBuffer
An und für sich mache ich ja in beiden Fällen genau dasselbe, nur mit dem kleinen Unterschied, dass das Memo letztenendes auf dem Webinterface nicht verändert wird. Dies ist aber nur bei einem OnRxChar Ereignis des Comports der Fall. Wenn ich z.B. einen Button auf dem Webinterface platziere und über das OnClick Ereignis das Memo mit irgendwelchen Werten fülle, dann wird das wie gewollt angezeigt. Alles in allem...komisch |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 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