AGB  ·  Datenschutz  ·  Impressum  







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

OpenDialog Problem

Ein Thema von youuu · begonnen am 22. Nov 2012 · letzter Beitrag vom 22. Nov 2012
Antwort Antwort
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

AW: OpenDialog Problem

  Alt 22. Nov 2012, 23:48
Bei Threads sollte man gedanklich einen ganz anderen Ansatz wählen.
Ein Thread ist wie ein Baby - sämtliches Spielzeug muss ihm von seiner Mama gegeben werden.
Ein Thread sollte selbst nie in die Verlegenheit kommen irgendwelche Daten zu holen.

Beispiel:
Ein Thread soll über eine serielle Schnittstelle kommunizieren.
Die Daten dazu (COMx, Baudrate, Parity,..) stehen in einer Ini-Datei.
Anstatt dass der Thread die Ini-Datei öffnet und die Daten ausliest, hat der Thread entsprechende Properties (Baudrate, usw) und der Hauptthread liest die Ini-Datei und füttert den Thread vor dem Start mit Daten.
Dann gehen wir noch einen Schritt weiter.
Der Thread benötigt die Parameter Baudrate, Parity, usw eigentlich gar nicht.
Was er wirklich braucht ist ein geöffnetes TSerialPort-Objekt.
Delphi-Quellcode:
TKommunikationsThread = Class(TThread)
private
  FSerialPort : TSerialPort;
public
  procedure Execute; override;
  // muss von Aussen übergeben werden
  property SerialPort:TSerialPort read FSerialPort write FSerialPort;
end;
Das TSerialPort kann auch als Parameter über den Konstruktor übergeben werden.
  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 20:01 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