Re: GUI Thread

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Hallo Sonya!

"Sonya Gruber" <sonya@xxxxxxxxxxx> schrieb:
Das Projekt hier http://www.codeproject.com/Purgatory/ChatApplDotNetSockets.asp
läuft auch nicht mehr. Wenn die ReceivingLoop auf die TextBox zugreifen will kommt "Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement textBox1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.". Hat Microsoft da was geändert ?

Kurze Antwort: Es gab bereits bisher keine Garantie, dass es lief, sondern die Lösung ist schlichtweg ein Implementierungsfehler, der nicht zur Laufzeit in eine Ausnahme mündete. In .NET 2.0 ist das zum Glück anders -- "verbotene" threadübergreifende Zugriffe auf Instanzmitglieder, die nicht multithreadingsicher sind, werden zur Laufzeit erkannt.

Du musst den direkten Zugriff auf das Steuerelement durch das Gespann 'Control.InvokeRequired' + 'Control.Invoke'/'Control.BeginInvoke' ersetzen.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

.



Relevant Pages

  • Re: Thread Kontext bei Methodenaufrufen
    ... "MachWas" greift definitiv nicht auf irgendwelche ... Thread A und Thread B schon in der Methode "MachWas" stehen, ... Jeder Thread hat seinen eigenen Stack. ... muss der Zugriff synchronisiert werden. ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: Debug Probleme
    ... Der Debugger stoppt bei einem Breakpoint ... Wenn nun die Auswertung ... Switch zu einem anderen Thread erfordert ... ... in dem das Steuerelement erstellt ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Java Script Interpreter - Sicherheit
    ... den Zugriff auf externe Objekte ... externen Code intepretieren!? ... Du kannst versuchen, mit einem zweiten Thread den Thread, in dem du das Script ausführst, den ersten nach einer bestimmten Zeit zu beenden. ...
    (de.comp.lang.java)
  • Frage zu Invoke
    ... selben Thread bin wie der, der das Steuerelement erzeugt hat. ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.vc)
  • Frage zu invoke
    ... selben Thread bin wie der, der das Steuerelement erzeugt hat. ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)