AGB  ·  Datenschutz  ·  Impressum  







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

Parameter an Thread übergeben

Ein Thema von IMPEGA · begonnen am 8. Sep 2013 · letzter Beitrag vom 2. Okt 2013
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.018 Beiträge
 
Delphi 12 Athens
 
#1

AW: Parameter an Thread übergeben

  Alt 8. Sep 2013, 13:22
FreeOnTerminate und Resume ist keine gute Idee, da der Thread dann evtl. so schnell weg ist, dass es Zugriffsprobleme gibt.
Und einen Thread, der auf FreeOnTerminate gesetzt ist, in einer Liste zu speichern ist ein No-Go, denn du weißt nie, wann du noch darauf zugreifen kannst.

Du musst dich entscheiden:
Möchtest du von außen deine TThread-Objekte in einer Liste haben, dann musst du diese auch von außen am Ende freigeben. Oder du benutzt FreeOnTerminate, überlässt die Threads dann aber auch sich selbst.

Zudem ist es auch viel einfacher, wenn du deine Liste gleich im Konstruktor übergibst. Zur Aktualisierung der Progressbar gibt es mehrere Möglichkeiten, eine ist mit Snychronize zu arbeiten, aber das bremst den Thread aus. Alternativ schick einfach mit PostMessage eine Message an das Hauptfenster, dann macht Windows die Synchronisation für dich.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
IMPEGA
Online

Registriert seit: 19. Jan 2008
Ort: Brhv
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Parameter an Thread übergeben

  Alt 8. Sep 2013, 13:57
Zitat:
Zudem ist es auch viel einfacher, wenn du deine Liste gleich im Konstruktor übergibst.
So weit bin ich noch nicht. Wie schon gesagt Step by Step.

Zitat:
Alternativ schick einfach mit PostMessage eine Message an das Hauptfenster, dann macht Windows die Synchronisation für dich.
Damit komme ich ohne Beispiel nicht klar. Wäre aber interessante Sache.

Bis jetzt Alles was ich gelesen habe arbeitete mit Synchronize. Ob es nun etwas langsamer ist , ist für mich nicht wirklich wichtig, ich versuche halt nach und nach die Sache zu verstehen. Allerdings bei Synchronize kann man kaum auf Uses UNIT1 verzichten.
Ganz so einfach ist das doch nicht. Leider. Ich versuche wie gesagt nach und nach etwas mehr zu verstehen.
  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 21:05 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