青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開(kāi)心的工作
簡(jiǎn)單、開(kāi)放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

MSXML.XMLHttp

Posted on 2008-10-26 21:18 S.l.e!ep.¢% 閱讀(2561) 評(píng)論(1)  編輯 收藏 引用 所屬分類(lèi): COM

用 MSXML.XMLHttp 獲取網(wǎng)頁(yè)數(shù)據(jù),如果是“同步”,那么
Step 1.?
在 BOOL CTestApp::InitInstance() 和 int CWinApp::ExitInstance()?分別加上??
?CoInitialize(NULL);? // 初始化 COM?? 和 ?CoUninitialize(); // 反初始化 COM

Step 2.
在使用的地方加上頭文件?
#import <msxml4.dll>
using namespace MSXML2;

Step3.
void CTestDlg::OnButton1()
{
?CString strResult;
?
?IXMLHTTPRequestPtr httpRes;
?HRESULT hr=httpRes.CreateInstance("MSXML2.XMLHTTP");

?if (!SUCCEEDED(hr) )
?{
??AfxMessageBox("無(wú)法創(chuàng)建XMLHTTP對(duì)象,請(qǐng)檢查是否安裝了MS XML運(yùn)行庫(kù)!");
?}

?try
?{
??LPCTSTR url = "??
??httpRes->open("Get", url, VARIANT_FALSE, "", "");
??httpRes->send();

??if( (httpRes->readyState) == 4) //4時(shí)表示數(shù)據(jù)已加載完
??{
???strResult = httpRes->responseText.copy();
???AfxMessageBox(strResult);
??}

??httpRes.Release();
?}
?catch (_com_error &e)
?{
??AfxMessageBox(e.Description());???
?}

?}

這樣就完工了

如果是“異步”調(diào)用
Step1.

// XMLSink.h: interface for the CXMLSink class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_XMLSINK_H__95AD1101_6F98_45C9_9EE3_EC266BBF514B__INCLUDED_)
#define AFX_XMLSINK_H__95AD1101_6F98_45C9_9EE3_EC266BBF514B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#import "msxml4.dll"
using namespace MSXML2;??

class CXMLSink : public IDispatch
{
public:
?CXMLSink();
?virtual ~CXMLSink();

?// for IUnknown
?STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppv);
?STDMETHOD_(ULONG, AddRef)();
?STDMETHOD_(ULONG, Release)();

?// for IDispatch
?STDMETHOD(GetTypeInfoCount)(UINT* pctinfo);
?STDMETHOD(GetTypeInfo)(UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo);
?STDMETHOD(GetIDsOfNames)(REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId);
??? STDMETHOD(Invoke)(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS __RPC_FAR *pDispParams, VARIANT __RPC_FAR *pVarResult, EXCEPINFO __RPC_FAR *pExcepInfo, UINT __RPC_FAR *puArgErr);

?//
?void SetEventSource(IUnknown* punk);

private:
?IUnknown*?? m_pEventSource;
?DWORD?? m_dwRef;
};

#endif // !defined(AFX_XMLSINK_H__95AD1101_6F98_45C9_9EE3_EC266BBF514B__INCLUDED_)

Step 2.
// XMLSink.cpp: implementation of the CXMLSink class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "XMLSink.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CXMLSink::CXMLSink() : m_dwRef(1), m_pEventSource(NULL)
{
}

CXMLSink::~CXMLSink()
{
?if(m_pEventSource)??
??m_pEventSource->Release();??

?m_pEventSource = NULL;?
}

// IUnknown method
STDMETHODIMP CXMLSink::QueryInterface(REFIID riid, LPVOID* ppv)??
{??
?OutputDebugString(_T("QueryInterface \n"));
?
?*ppv = NULL;??

?if(IID_IUnknown == riid)??
?{??
??*ppv = (LPUNKNOWN)this;??
??AddRef();
??return NOERROR;??
?}??
?else if (IID_IDispatch == riid)??
?{??
??*ppv = (IDispatch*)this;??
??AddRef();??
??return NOERROR;??
?}??
?else??
?{
??return E_NOTIMPL;??
?}
}??

STDMETHODIMP_(ULONG) CXMLSink::AddRef()
{
?return ++m_dwRef;
}??

STDMETHODIMP_(ULONG) CXMLSink::Release()??
{??
?if(--m_dwRef == 0)??
?{??
??delete this;??
??return 0;??
?}
?
?return m_dwRef;??
}??

// IDispatch method??
STDMETHODIMP CXMLSink::GetTypeInfoCount(UINT* pctinfo)
{
?OutputDebugString(_T("GetTypeInfoCount\n"));
?return E_NOTIMPL;
}??

STDMETHODIMP CXMLSink::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo)
{
?OutputDebugString(_T("GetTypeInfo\n"));??
?return E_NOTIMPL;
}??

STDMETHODIMP CXMLSink::GetIDsOfNames(REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId)
{
?OutputDebugString(_T("GetIDsOfNames\n"));
?return E_NOTIMPL;
}?
????????????????
STDMETHODIMP CXMLSink::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS __RPC_FAR *pDispParams,??
????????????????? VARIANT __RPC_FAR *pVarResult, EXCEPINFO __RPC_FAR *pExcepInfo, UINT __RPC_FAR *puArgErr)??
{??
?OutputDebugString(_T("Invoke\n"));
?
?MSXML2::IXMLHTTPRequestPtr xmldom(m_pEventSource);?
?
?if(xmldom)??
?{??
??long lReadyState;??
??xmldom->get_readyState(&lReadyState);??
??
??char buf[256];??
??wsprintf(buf, "get_readystate return %d \n", lReadyState);??
??
??OutputDebugString(_T(buf));
??
??if(lReadyState == 4)??
??{??
???CString strResult = xmldom->GetresponseText().copy();
???AfxMessageBox(strResult);
??}
?}

?return NOERROR;??
}??

void CXMLSink::SetEventSource(IUnknown* punk)
{
?m_pEventSource = punk;

?if(punk)??
??punk->AddRef();
}?

Step 3.
private:
?CXMLSink m_XmlSink;
?IXMLHTTPRequestPtr m_httpRes;

Step 4.
void CDlg::OnButton1()
{
?CString strResult;
?
?HRESULT hr = m_httpRes.CreateInstance("MSXML2.XMLHTTP");

?if (!SUCCEEDED(hr) )
?{
??AfxMessageBox("無(wú)法創(chuàng)建XMLHTTP對(duì)象,請(qǐng)檢查是否安裝了MS XML運(yùn)行庫(kù)!");
?}

?m_XmlSink.SetEventSource(m_httpRes);

?try
?{
??LPCTSTR url = "
??
??m_httpRes->open("Get", url, VARIANT_TRUE, "", "");
??m_httpRes->put_onreadystatechange(&m_XmlSink);
??m_httpRes->send();
?}
?catch (_com_error &e)
?{
??AfxMessageBox(e.Description());???
?}

}

異步方式還未解決的問(wèn)題;
1. 如果一直沒(méi)響應(yīng),超時(shí)如何處理?
2. 如果在未響應(yīng)時(shí),提前退出程序,又該如何釋放內(nèi)存?

Feedback

# re: MSXML.XMLHttp  回復(fù)  更多評(píng)論   

2008-11-06 09:27 by yuantiter
您好,ObjectARX二次開(kāi)發(fā)環(huán)境組合之 (三) ObjectARX 2005 + AutoCAD 2004/2005 + VC.Net 2003

需調(diào)用或驗(yàn)證大量VC7.0的庫(kù),否則編譯不過(guò)。

解決方案:拷貝VC2002安裝目錄下/VC7\atlmfc\lib下類(lèi)似*70*的文件到VC2003下,主要有:
mfc70.lib、 mfc70d.lib、mfc70u.lib、mfc70ud.lib

mfcs70.lib、mfcs70.pdb、mfcs70d.lib、mfcs70d.pdb

mfcs70u.lib、mfcs70u.pdb、mfcs70ud.lib、mfcs70ud.pdb
請(qǐng)問(wèn)如何獲得!!
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩国产一级| 亚洲国产经典视频| 国产精品久久久久久久久| 亚洲一二三区视频在线观看| 9久re热视频在线精品| 国产在线不卡精品| 国产精品日韩在线播放| 欧美视频一区二区三区在线观看| 久久伊人精品天天| 久久久久高清| 久久精品国产77777蜜臀| 一区二区三区欧美视频| 亚洲九九爱视频| 一本色道久久综合亚洲二区三区| 亚洲国产一区二区三区青草影视 | 欧美在线观看视频在线| 亚洲影院色在线观看免费| 伊人精品成人久久综合软件| 另类天堂视频在线观看| 久久一区二区三区av| 美女脱光内衣内裤视频久久网站| 另类天堂视频在线观看| 欧美激情按摩| 欧美日韩一区二区三区在线| 国产精品免费区二区三区观看| 国产精品免费久久久久久| 国产日韩欧美综合一区| 激情五月婷婷综合| 亚洲欧洲精品一区二区三区不卡 | 欧美经典一区二区三区| 欧美理论片在线观看| 欧美系列电影免费观看| 国产日产欧产精品推荐色 | 精品99一区二区| 日韩亚洲精品电影| 欧美一区二区黄| 欧美bbbxxxxx| 亚洲视屏一区| 久久婷婷av| 欧美天堂在线观看| 精品91视频| 亚洲一区亚洲| 欧美大片国产精品| 一区二区三区四区精品| 性亚洲最疯狂xxxx高清| 欧美国产一区视频在线观看| 久久久久一本一区二区青青蜜月| 欧美一区日韩一区| 欧美日本中文字幕| 黄色亚洲大片免费在线观看| 一区二区三区日韩欧美精品| 久久中文久久字幕| 一区二区三区|亚洲午夜| 久久爱另类一区二区小说| 欧美激情影院| 在线观看亚洲| 久久不见久久见免费视频1| 亚洲国产cao| 99精品国产在热久久| 久久久噜噜噜久久狠狠50岁| 免费国产一区二区| 亚洲视频欧洲视频| 亚洲电影免费观看高清完整版在线| 日韩亚洲精品电影| 亚洲一区日本| 国产精品ⅴa在线观看h| 日韩亚洲欧美中文三级| 嫩草国产精品入口| 欧美专区日韩专区| 国产精品成人一区二区艾草| 亚洲人成小说网站色在线 | 亚洲激情视频在线| 亚洲欧美区自拍先锋| 亚洲精品极品| 欧美大片在线观看| 亚洲国产高清一区| 久久天堂国产精品| 欧美专区中文字幕| 国语自产精品视频在线看一大j8| 欧美在线视频观看| 香蕉成人伊视频在线观看| 国产精品久久久久久影视| 亚洲欧美日韩成人高清在线一区| 亚洲精品久久久久久下一站 | 欧美一区二区三区四区夜夜大片 | 国产欧美日韩亚洲精品| 欧美一区亚洲| 最近中文字幕mv在线一区二区三区四区| 一道本一区二区| 欧美日韩精品高清| 亚洲欧美精品| 久久久精品一区二区三区| 精品成人在线| 亚洲高清视频的网址| 欧美精品一区二区蜜臀亚洲| 亚洲一区免费看| 亚洲欧美日韩国产精品| 国产在线精品自拍| 欧美顶级少妇做爰| 欧美日韩久久不卡| 午夜精品999| 欧美暴力喷水在线| 亚洲欧美另类国产| 夜夜嗨av一区二区三区网页| 在线免费日韩片| 亚洲美女视频| 亚洲国产精品va| 99re热精品| 亚洲福利精品| 亚洲午夜成aⅴ人片| 国语自产精品视频在线看8查询8| 99亚洲视频| 红桃av永久久久| 日韩午夜在线观看视频| 1769国产精品| 国产精品视频免费在线观看| 99re6热只有精品免费观看| 一区二区三区.www| 黄色成人av网站| 亚洲免费观看| 欧美视频中文字幕| 国产三级精品在线不卡| 亚洲精品国产精品国产自| 国产精品任我爽爆在线播放| 巨乳诱惑日韩免费av| 国产精品久久久久一区| 欧美国产日韩在线| 国产女人精品视频| 亚洲人永久免费| 黄色成人av网| 亚洲欧美日韩在线观看a三区| 亚洲精品视频免费观看| 欧美亚洲综合久久| 99亚洲伊人久久精品影院红桃| 欧美一区二区视频97| 亚洲午夜一区| 欧美激情bt| 欧美激情视频一区二区三区免费| 国产日韩欧美一区在线| 亚洲精品视频中文字幕| 亚洲国产日韩在线一区模特| 亚洲一区二区不卡免费| 国产精品vvv| 91久久综合亚洲鲁鲁五月天| 亚洲国产精品一区二区久| 久久成人精品无人区| 久久精彩视频| 国产精品午夜在线观看| 一区二区三欧美| 在线亚洲精品| 欧美日韩国产综合视频在线观看 | 久久美女性网| 久久久精品国产免大香伊 | 在线视频欧美精品| 亚洲视频在线免费观看| 欧美精品电影| 亚洲午夜激情网页| 日韩一区二区高清| 欧美在线不卡| 久久精品日产第一区二区三区| 国产精品福利久久久| 在线一区日本视频| 欧美一区三区三区高中清蜜桃| 国产乱码精品一区二区三区不卡| 亚洲欧美国产另类| 久久艳片www.17c.com| 在线看视频不卡| 欧美精品一区在线| 亚洲综合三区| 久久午夜电影| 亚洲乱码日产精品bd| 久久国产乱子精品免费女| 这里只有精品视频| 亚洲经典三级| 国产精品www.| 亚洲久久一区| 久久综合中文| 99re视频这里只有精品| 久久9热精品视频| 最新日韩精品| 欧美日韩亚洲91| 香蕉成人伊视频在线观看| 亚洲第一狼人社区| 午夜影视日本亚洲欧洲精品| 欲色影视综合吧| 国产精品国产三级国产普通话蜜臀 | 在线亚洲免费视频| 国产区在线观看成人精品| 免费在线欧美视频| 午夜亚洲福利| aa日韩免费精品视频一| 久久人人超碰| 亚洲欧美偷拍卡通变态| 日韩午夜激情av| 亚洲国产精品欧美一二99| 国产色综合网| 国产精品久久久久久久电影| 欧美人牲a欧美精品| 裸体素人女欧美日韩| 欧美中文在线观看国产|