AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi 100 Server parallel überprüfen, ob Sie online sind?
Thema durchsuchen
Ansicht
Themen-Optionen

100 Server parallel überprüfen, ob Sie online sind?

Ein Thema von Piro · begonnen am 12. Mai 2010 · letzter Beitrag vom 19. Mai 2010
Antwort Antwort
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#1

Re: 100 Server parallel überprüfen, ob Sie online sind?

  Alt 12. Mai 2010, 23:42
Hm. Ein Beispiel kenne ich jetzt nicht, aber das müsste schon helfen.
Im Grunde ist es ganz einfach. Du leitest dir eine eigene Klasse von TThread ab und überschreibst dabei die Execute-Methode. In dieser wird dein eigener Code ausgeführt, dort kannst du dann z.B. den Ping absetzen. Erstellen tust du den Thread dann z.B. so:

Delphi-Quellcode:
var
  T: TMeinThread;
begin
  T := TMeinThread.Create(True); //Thread angehalten erstellen
  T.FreeOnTerminate := True; //Freigeben wenn Execute-Methode fertig
  T.Resume; //Thread starten
end;
Was meiner Meinung nach manchmal etwas nervig, kompliziert oder fehleranfällig ist, ist das Weiterleiten von Informationen des Threads an den Main-Thread, bzw. VCL-Sachen/Fenster. Behalte dabei immer im Hinterkopf, dass du aus der Execute-Methode, bzw. Methoden, die von Execute aus aufgerufen werden, nichts mit der VCL machen darfst. D.h. wenn dein Thread beispielsweise den Text eines Labels ändern will oder in ein TListView ein TListItem hinzufügen möchte, muss das über die Synchronize()-Methode des Threads oder andere Mechanismen wie SendMessage oder PostMessage passieren. Das gilt auch für hässliche globale/gemeinsame Variablen, sofern die benutzt werden - der Zugriff darauf sollte immer nur von einem Thread aus gleichzeitig erfolgen, also eventuell noch über CriticalSections informieren, das könnte auch hilfreich sein.

Viel Erfolg
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  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 04:22 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