AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Intraweb - auf Ereignis reagieren
Thema durchsuchen
Ansicht
Themen-Optionen

Intraweb - auf Ereignis reagieren

Ein Thema von hirnstroem · begonnen am 17. Aug 2006 · letzter Beitrag vom 18. Aug 2006
Antwort Antwort
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

Intraweb - auf Ereignis reagieren

  Alt 17. Aug 2006, 13:43
'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:
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;
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.

Muss ich die Seite einfach erneut an den Browser senden? Wenn ja, wie? Oder geht das anders?

Grüsse
hirnstroem
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Intraweb - auf Ereignis reagieren

  Alt 18. Aug 2006, 08:33
Wenn ich anstatt eines Memo Objektes ein Label nehme, funktioniert das ganze tadellos -.-

Delphi-Quellcode:
IWMemo1.Lines.Add(#13);
        IWMemo1.Lines.Add(CAN232OutputBuffer);
^^ funktioniert nicht

IWLabel1.Caption := CAN232OutputBuffer ^^ funktioniert

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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz