AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Erstellung und Freigabe von Formularen in einem Thread
Thema durchsuchen
Ansicht
Themen-Optionen

Erstellung und Freigabe von Formularen in einem Thread

Ein Thema von Alex_ITA01 · begonnen am 3. Nov 2014 · letzter Beitrag vom 3. Nov 2014
 
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: Erstellung und Freigabe von Formularen in einem Thread

  Alt 3. Nov 2014, 12:18
Naja, es ist eine Form, die zu dem Thread "gehört" und auch nur dann erzeugt werden soll, wenn es den Thread gibt bzw. dieser erstellt wurde. Er soll sozusagen der "Owner" für das Form sein und hat auch seine entsprechenden Semaphoren und VCL Zugriffe auf die Form...
Form = GUI
Thread = Logik

Da man das -siehe Sir Rufo- nicht mischen soll, liegt hier ein Designproblem vor. Aber es ist schon klar, was Du bezwecken willst.

Führe dazu eine Klasse ein, die sowohl den Thread startet als auch das Formular sichtbar macht. Nennen wir die mal 'ThreadController'. Der Thread teilt dem ThreadController mit,
  • wenn er gestartet wird => Form sichtbar machen
  • wenn er beendet wird => Form unsichtbar machen
  • wenn es etwas darzustellen gibt => Darstellen
Der Thread kann das über Synchronize-Aufrufe so steuern, das sich alles schön im Kontext des Mainthreads ausgeführt wird. Wenn der Thread das dann auch noch über Events löst, hast Du Form und Thread komplett entkoppelt, d.h. der Thread kennt die Form nicht, meldet aber per Event Änderungen an seinem inneren Zustand. Und der ThreadController sorgt dafür, das diese Änderungen in der Form landen.

Der Thread kann bzw. sollte nach außen hin komplett unsichtbar sein, d.h. Alles läuft über den ThreadController.
  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 15:19 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