AGB  ·  Datenschutz  ·  Impressum  







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

StringGrid.Create threadsicher?

Ein Thema von Ykcim · begonnen am 28. Nov 2024 · letzter Beitrag vom 2. Dez 2024
Antwort Antwort
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
542 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: StringGrid.Create threadsicher?

  Alt 28. Nov 2024, 17:58
Ja wir wissen es: die VCL ist nicht Threadsafe.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: StringGrid.Create threadsicher?

  Alt 28. Nov 2024, 18:11
Und die meisten VCL-Objekte (die mit einem HWND) sind auch noch thread-affine.

Ihre Messages werden nur über die Thread-MessageQueue behandelt, in dessen Thread sie erstellt wurden.


A: VCL ist nicht thread-save ... es werden öfters globale Default-Sachen gemeinsam verwendndet, wie z.B. in TFont, TPen und TBrush.

B: ein VCL-Objekt muß auch im VCL-Thread (MainThread) erstellt werden. (da du bestimmt vergessen hast die Message-Queue deines Threads abzuarbeiten)

C: Sowas mach man einfach nicht.


Es gibt einige Komponenten, die kann man teilweise in einem Thread behandeln. (nicht erstellen/freigeben ... nur auf gewisse Teile drauf zugreifen)
z.B. ein Bitmap/Image/Canvas, so lange das Canvas gesperrt wurde,
oder eine ListBox mit BeginUpdate (natürlich im Hauptthread ausgeführt)




-> TThread.Syncronize und TThread.Queue

SendMessage und PostMessage syncronisieren sich selbst, in den Thread, wo die Empfänger-Komponente erstellt wurde.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Nov 2024 um 18:17 Uhr)
  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 05:36 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