AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi [Indy 10] IRC-Client in eigenem thread auslagern
Thema durchsuchen
Ansicht
Themen-Optionen

[Indy 10] IRC-Client in eigenem thread auslagern

Ein Thema von Sfaizst · begonnen am 10. Dez 2010 · letzter Beitrag vom 22. Dez 2010
 
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: [Indy 10] IRC-Client in eigenem thread auslagern

  Alt 21. Dez 2010, 23:28
Hi,

die IdIRC Komponente ist eine der wenigen die ich noch nicht benutzt/benötigt habe,
allerdings kenne ich ansonsten recht gut mit den Indy-Komponenten aus.

Dein Gedankengang mit dem Thread ist absolut richtig,
allerdings solltest Du alle Events von TIdIRC(somit auch OnPrivateMessage)
innerhalb des Threads behandeln und NICHT direkt an die Form verweisen.
Für eine Interaktionen zwischen Thread(s) und VCL-Komponenten(auch Forms)
ist die Syncronisation der Interaktion dringend zu Verwenden!

Verwende Deinen Source aus dem ersten Posting,
verweise "OnPrivateMessage" auf eine "thread interne" Methode.
Dort verarbeite die "Message" nach belieben, soll allerdings
Interaktion mit der GUI stattfinden(z.B. Anzeige der Nachricht im Memo)
muss das ganze über Thread.Syncronize gemacht werden.

Zu Deiner Frage bezüglich des OnExecute:
Die Procedure die Du definiert hast für OnPrivateMessage wird automatisch aufgerufen,
darum "kümmert" sich IdIrc. Deshalb musst Du, soweit ich das im Moment beurteilen kann,
im Onexecute einfach eine Schleife laufen lassen, solange die IRC Verbindung steht den
hread einfach schlafen legen(z.b. Sleep(25)). Gibt noch andere Möglichkeiten,
aber zum Testen sollte das reichen.

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  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 01:07 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