J'ai une application que j'utilise pour analyser les données d'un document HTML. L'application a fonctionné pendant quelques années jusqu'à cette semaine où la méthode QueryInterface pour IID_IPersistStreamInit a commencé à échouer. L'appel à QueryInterface renvoie -2147467262 qui échoue le test SUCCEEDED (hr). Des idées pour lesquelles ça marche?La méthode QueryInterface pour le IID_IPersistStreamInit a cessé de fonctionner
Merci, Wade
if (!myIE->IsValid())
return;
HRESULT hr;
LPDISPATCH lpDispatch = NULL;
LPOLECOMMANDTARGET lpOleCommandTarget = NULL;
LPPERSISTSTREAM lpPersistStream = NULL;
lpDispatch = myIE->GetHtmlDocument();
ASSERT(lpDispatch);
if (lpDispatch == NULL)
AfxMessageBox("Couldn't get IHTMLDocument2 interface!");
else
{
hr = lpDispatch->QueryInterface(IID_IPersistStreamInit, (void**) &lpPersistStream);
if (SUCCEEDED(hr) && lpPersistStream != NULL)
Je navigue vers une page Web comme http://www.google.com/ ou un document HTML sur mon ordinateur local. J'attends que la page soit chargée avant d'appuyer sur le bouton pour voir ou sauvegarder la source. L'appel QueryInterface échoue sur tous les fichiers que j'ai essayés. Je devine que peut-être une mise à jour IE a été poussée sur ma machine entre vendredi et lundi; briser ce programme. –
Je devrais ajouter que l'appel à GetHtmlDocument() est réussi. –
Cela peut être stupide, mais encore - IE n'a pas fonctionné sur mon poste de travail aujourd'hui, probablement en raison de certaines mises à jour. Le redémarrage l'a réparé. Avez-vous essayé de redémarrer votre poste de travail après l'apparition du problème? – eran