2009-06-06 5 views
0

Ich habe ein IE7 Add-on, ich html-Elemente auf der Seite hinzufügen, die gerade durchsucht wird.Threading und ie7 Add-ons

dh wirft die Operation abgebrochen, und nicht auf die Seite nevigieren, weiß jemand, was zu tun ist?

i arbeiten asynchron mit der HTML-Elemente

Antwort

0

Die beste Möglichkeit, um sicherzustellen, dass Sie mit dem Hauptthread Ihres Webbrowser-Helfers arbeiten, besteht darin, Ihre gesamte asynchrone Arbeit im Hintergrund zu erledigen.

die zweite Option ist ein syncronization Kontext zu schaffen und Allways dom Änderungen aus dem Sync-Kontext

1

Die IE DOM-Objekte sind alle STA-Objekt hinzufügen. Das bedeutet, dass Sie sie nur für den Thread verwenden können, auf dem sie erstellt wurden, nämlich den Tab-UI-Thread.

Wenn Sie sie aus einem Hintergrundthread verwenden müssen, müssen Sie das Objekt von einer Wohnung zur anderen marshalieren. Dies wird relativ einfach mit der Global Interface Table erreicht.

+0

dort auszuführen ist eine Art und Weise, dass ich dem UI-Thread sagen kann, um die DOM-Objekte zu erstellen und verwalten? –

+0

wie in Winform mit Sync-Kontext –

+0

Der Thread, wo Sie zunächst den Zeiger auf das DOM-Objekt erhalten, das ist der Thread, auf dem sie erstellt wurden. –