Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.993 Beiträge
 
Delphi 12 Athens
 
#6

AW: Paralleler Thread funktioniert nicht

  Alt 1. Okt 2024, 22:18
Da GUI-Komponenten per se nicht threadsave sind, ist ein "unsynchronisierter" Zugriff aus Threads nicht anzuraten verboten.

Wird in den Funktionen "nur" ein SendMessage genutzt, oder du nutzt selbst SendMessage, dann gibt es keine Probleme, da die Aufrufe von SendMessage/PostMessage immer im Thread des Erstellers der Komponenten (WinCntrols) ausgeführt wird ... es wird also immer in den MainThread syncronisiert.
Macht die Komponenten-Funktion aber mehr/Anderes, wie Zugriffe auf Variablen, dann war's das und man muß selbst mit Thread.Synchronize ran.



Aber, wie schon einmal gesagt: Wer kommt heute bitte auf die saudumme Idee diese uralten und seit Jahrzehnten nicht mehr gewarteten Komponenten zu benutzen?
Wer kommt auf die leicht blöde Idee GUI-Komponenten nur für eine interne Laufzeitfunktion zu verwenden.
Wer auf die unsinnige Idee das ganze Verzeichnis aufzulisten, um "eine" Datei zu suchen?

Es gibt genügend RTL-Funktionen, um all das ohne GUI zu machen, welche in sich alle threadsave sind.
Delphi-Referenz durchsuchenIOUtils und die anderen alten File-API.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 1. Okt 2024 um 22:43 Uhr)
  Mit Zitat antworten Zitat