AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdTCPClient: Eingehende Verbindung
Thema durchsuchen
Ansicht
Themen-Optionen

TIdTCPClient: Eingehende Verbindung

Ein Thema von Xzeer · begonnen am 13. Sep 2008 · letzter Beitrag vom 14. Sep 2008
 
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

Re: TIdTCPClient: Eingehende Verbindung

  Alt 14. Sep 2008, 10:53
also ich hab mir das so gemacht: ich habe ein object von typ TIdTCPClient abgeleitet und darin ein object, welches von einer thread-klasse abgeleitet ist, instanziiert. bei der onexecute-methode des thread-objects habe ich dann den IOHandler des TIdTCPClient-Object angesprochen und geschaut, ob daten vorhanden sind. das kannst du so abfragen
Delphi-Quellcode:
var
  cmd : String;
{ ... }
// Aktuellen Puffer lesen
cmd := tcpClient.IOHandler.Readln();
// Prüfen, ob Daten angekommen sind
if (cmd <> '') then
begin

  { Hier musst du noch auf die eingehenden Daten reagieren. }

end;
auf die eingehenden daten reagiere ich wie folgt. ich leite diese eben an die nächst "höhere" instanz weiter, bei der eben eine entsprechende methode definiert sein muss.
Delphi-Quellcode:
TOnRecieve = procedure(aStr: String) of object;
TReadThread = class(TThread)
private
  { ...}
  FOnRecieve : TOnRecieve;
protexted
  procedure Execute(); override;
public
  { ... }
  property OnRecieve : TOnRecieve read FOnRecieve write FOnRecieve;
end;

{ WICHTIG: Anpassen der OnExecute }
proceudre TReadThread.Execute();
var
  cmd : String;
begin

  { ... }
  // Aktuellen Puffer lesen
  cmd := tcpClient.IOHandler.Readln();
  // Prüfen, ob Daten angekommen sind
  if (cmd <> '') then
  begin
    // Eingehende Daten weiterleiten
    if (Assigned(FOnRecieve)) then
      FOnRecieve(cmd);
  end;

  { ... }
end;
vielleicht hilft dir das ja ein bisschen
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
 


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 03:29 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