BackgroundWorker Funktioniert nicht in VSTO

8

Ich habe einen Hintergrundarbeiter. Bevor ich den Arbeiter anrufe, deaktiviere ich eine Schaltfläche und mache ein GIF sichtbar. Ich rufe dann die runworkerasync-Methode auf und läuft bis zur Completion. Auf der 'RunWorkerCompleted ()' bekomme ich einen Cross-Thread-Fehler. Irgendeine Idee warum?

%Vor%     
Chris Hayes 15.03.2010, 18:31
quelle

2 Antworten

18

Es scheint ein Problem mit VSTO und BackgroundWorker zu sein.

Die Lösung ist hier .

Grundsätzlich müssen Sie

anrufen %Vor%

, bevor Sie RunWorkerAsync aufrufen. Funktioniert großartig.

Um zu vermeiden, dass das Objekt jedes Mal instanziiert wird, wenn Sie ein statisches Element in der Hauptklasse von AddIn haben und es wiederverwenden. Auf diese Weise werden Sie nur einmal instanziiert.

    
Ricardo Velhote 09.12.2010 15:55
quelle
2

etwas über VSTO, das den Hintergrund-Worker im selben Thread wie die Steuerelemente ausführt. Nicht sicher. Ich musste das InvokeRequired

überprüfen %Vor%     
Chris Hayes 15.03.2010 19:18
quelle

Tags und Links