hallo..
ich bin gerade darüber gestolpert das mich das VS2005 warnt wenn man threadübergreifende aktionen ausführt die so nicht zulässig sind .. hab dann die folgende meldung in der exception bekommen:
"Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement label1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."
da ich aus der vergangenheit (mit BCB 6) mitbekommen hab das das mit der threadsicherheit nur schwer nachzuvollziehen ist würde ich gern wissen ob das VS2005 jede nicht threadsichere aktion bemerkt oder ob das nur bei zugriffen auf die GUI funktioniert?
lg mutzel
Hallo mutzel,
nur bei Zugriffen auf das GUI.
herbivore
hm ... schade..
gibt es einfache möglichkeiten derartige dinge auch bei ganz normalen threads mitzubekommen? oder muss man sich da ganz genau überlegen was man tut?
lg mutzel
Hallo mutzel,
gibt es einfache möglichkeiten derartige dinge auch bei ganz normalen threads mitzubekommen?
gibt es nicht
oder muss man sich da ganz genau überlegen was man tut?
das muss man tun
herbivore
Original von mutzel
da ich aus der vergangenheit (mit BCB 6) mitbekommen hab das das mit der threadsicherheit nur schwer nachzuvollziehen ist würde ich gern wissen ob das VS2005 jede nicht threadsichere aktion bemerkt oder ob das nur bei zugriffen auf die GUI funktioniert? Weder SWF noch die VCL sind thread safe. Du musstest also auch schon bei der VCL deinen Code durch Synchronize absetzen. 😉
In SWF wird das durch die Invoke Methode gelöst, die jedes Control besitzt.