AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Thread in eigene Klasse einbinden?

Ein Thema von Edlmann · begonnen am 16. Dez 2010 · letzter Beitrag vom 16. Dez 2010
Antwort Antwort
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

AW: Thread in eigene Klasse einbinden?

  Alt 16. Dez 2010, 16:10
Eigentlich finde ich es schöner, eine Funktion zu haben, die eben als Thread läuft, als dafür direkt eine Klasse zu schreiben
Ein Thread läuft immer in einem bestimmten Kontext.
Er braucht Eingabedaten und liefert oder befüllt Ausgabedaten.
Wenn man einen Thread nur als Funktion sieht, dann "belügt" man sich selbst, weil der Kontext irgendwo als globale Variablen vorhanden sein muss.

Ganz anderst ist das bei der Klasse TThread.
Wenn man von TThread ableitet, dann sollte man darauf achten alle Eingabe- und Ausgabedaten als Properties anzulegen.
Beispiel:
Delphi-Quellcode:
// Thread-Klasse zur Berechnung der Mandelbrot Menge
TMandelbrotThread = class(TThread)
public
  procedure Execute; override;
   // Eingabeparameter
   property Ziel : TRect; // Bildausschnitt
   property xmin, xmax, ymin, ymax : double; // für Brechnung des Apfelmänchens benötigt
   property ColorTable : TColorTable; // Einfärbeschema

   // Ausgabeobjekt
   property Bitmap:TBitmap;
end;
Bei der Threadklasse siehst du genau, was der Thread an Input braucht und wohin das Ergebnis geht.
Sauber und Objektorientiert!
Würde es die Thread-Klasse nicht schon geben, dann müsste man sie erfinden.
Andreas
  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 02:09 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