CLR Console Application
Hello:
I have created a CLR console application in visual Studio 2005. I am trying
invoke an ASP file and save it locally. Please find code.
CString csFileName;
CLSIDFromProgID (OLESTR("InternetExplorer.Application"), &clsid);
CoCreateInstance (clsid, NULL, CLSCTX_SERVER, IID_IUnknown, (LPVOID *)
&punk);
punk->QueryInterface (IID_IWebBrowser2, (LPVOID *) &pWB);
punk->Release();
CString csFile;
CString InvId = _T("343");
csFile.Format(_T("http://Localhost/IMyfile/IMyfile.asp?InvId=%s"),InvId);
bstrVal = csFile.AllocSysString();
var.vt = VT_I4;
var.lVal = 0;
pWB->Navigate (bstrVal, &var, &var, &var, &var);
SysFreeString (bstrVal);
LPDISPATCH lpDispatch = NULL;
hr = pWB->get_Document(&lpDispatch);
if (SUCCEEDED(hr))
{
hr = lpDispatch->QueryInterface(IID_IPersistFile, (void **)&pFile);
if SUCCEEDED(hr)
{
if (pFile->Save(csFileName,0)==E_FAIL)
Console::WriteLine(L"Unable to SaveComplete File");
else
hr = pFile->SaveCompleted(csFileName);
}
else
{
Console::WriteLine(L"Error in creating the Query Interface");
}
}
Console::WriteLine(L"able to SaveComplete File");
pFile->Release();
lpDispatch->Release();
pWB->Quit();
I have inlcuded required header files(#include <exdisp.h>,#include <mshtml.h>,
#include <atlstr.h> and #include <atltime.h>) This code works fine if debug
it step by step but If I run it whether exe in debug mode or release mode, it
throws an error that System.NullReferenceException was unhandled. It points
to code pFile->Release();
lpDispatch->Release();
Please let me know what i am doing wrong.
Thanks in advance