begin process at 2012 05 29 10:11:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

ActiveX / COM

 > 

IWebBrowser2 et Multithread


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

IWebBrowser2 et Multithread

lundi 8 août 2011 à 11:20:17 | IWebBrowser2 et Multithread

HeavenForsaker

Bonjour,

J'ai une exception lorsque je tente d’accéder à une interface de IWebBrowser2 depuis un autre thread que le thread dans lequel l'interface IWebBrowser2 à été crée.

Pour info, Le nouveau thread permet de lancer une recherche texte dans la page, donc multithread obligatoire...

Voici le code de la création de l'interface IWebBrowser2 :

Code C/C++ :
OleInitialize(0);

HINSTANCE hatldll = LoadLibrary(L"atl.dll");

typedef HRESULT (WINAPI *PAttachControl)(IUnknown*, HWND,IUnknown**);
PAttachControl AtlAxAttachControl = (PAttachControl) GetProcAddress(hatldll, "AtlAxAttachControl");

IWebBrowser2* pIWebBrowser2 = 0;
CoCreateInstance(CLSID_WebBrowser, 0, CLSCTX_ALL, IID_IWebBrowser2, (void**)&pIWebBrowser2);

AtlAxAttachControl(pIWebBrowser2, hwndDlg, 0);


Maintenant le code utilisé dans l'autre thread, l'exception se produit sur pIHTMLBodyElement->createTextRange :

Code C/C++ :
IDispatch* pIDispatch = 0;
pIWebBrowser2->get_Document(&pIDispatch);

IHTMLDocument2* pIHTMLDocument2 = 0;
pIDispatch->QueryInterface(IID_IHTMLDocument2, (void **)&pIHTMLDocument2);
pIDispatch->Release();

IHTMLElement* pIHTMLElement = 0;
pIHTMLDocument2->get_body(&pIHTMLElement);
pIHTMLDocument2->Release();

IHTMLBodyElement* pIHTMLBodyElement = 0;
pIHTMLElement->QueryInterface(IID_IHTMLBodyElement, (void**)&pIHTMLBodyElement);
pIHTMLElement->Release();

IHTMLTxtRange* pIHTMLTxtRange = 0;
pIHTMLBodyElement->createTextRange(&pIHTMLTxtRange);  //exception ici


Il doit surement y avoir quelque chose à faire pour utiliser l'interface dans un autre thread mais je ne vois pas quoi.

++


Cette discussion est classée dans : code, thread, interface, iwebbrowser2, piwebbrowser2


Répondre à ce message

Sujets en rapport avec ce message

à propos des threads [ par GUERRIER_ABSOLU ] Salut, je voudrais savoir s'i quelqu'un a déjà essayé d'appeler une fonction dans un thread et a remarqué quelque chose d'innatendu. En fait quand j'a Class & CreateThread [ par Renfield ] Bonjour, j'ai un petit soucis de compilation...dans une classe, je voudrais créer un Thread. ma proc est définie comme cela :LPTHREAD_START_ROUTINE wxwindows - incorporer code de base au code interface [ par marcdid ] Bonjour tout le monde,Voilà, je suis entrain de développer un ptit soft de style chat avec dev c++. La partie communication marche bien (en fenetre do Interface graphique [ par pipic ] Slt,j'ai réalisé une appli en c++ enfin plutot le code source. Maintenant je voudrais réaliser l'interface graphique sous visual c++J'ai réussi à crée Lancement thread successif (ordonnés) [ par themaste ] Salut!Voila, j'ai une question d'ordre propreté du code. En fait, j'ai plusieurs thread, et j'aimerais pouvoir les lancés les un après les autres..je Comment lier code et interface? [ par bchrist ] Bonjour! je suis un debutant dans la programmation. ma preoccupation est la suivante. je souhaiterais savoir comment proceder pour lier des lignes de Tollbar au format HTML -> accéder à l'interface IWebBrowser2 d'un controle activeX [ par davwart ] Bonjour à tous,Je suis toujours dans ma création d"une toolbar HTML pour Internet Explorer.J'ai reussi à créer une toolbar et à y mettre une barre HTM Exemples de code VC++ utilisant l'interface pc/sc win32 api [ par cvtcvt1 ] Je cherche un tutorial clair ou un exemple simple en VC++ pour comprendre le principe Application -> interface ( dll ou lib ) -> fournisseur de lecteu Threads sous Windows/Linux [ par raananb ] L'extrait de code ci-après (développé avec wxWidgets en C++) traite une série de fichiers : pour chaque fichier il affiche le nom dans un label, une i Prob de thread [ par sebastienbro ] Bonjour, j'ai un problème avec des thread, je n'arrive pas a en créer un :(Voici mon code : HANDLE hThread1;DWORD dwThreadId1;DWORD WINAPI T


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales