|
http 프로토콜로 파일을 Downloading 할 일이 있는데...
아래의 함수를사용하려고 합니다. 물론 콜백을 NULL로 두고 하면 잘 되는데..
세밀하게 제어하고 싶어서 callback을 사용하고 싶은데...
전부 VC++ 소스입니다.
hr = URLDownloadToFile ( NULL, // ptr to ActiveX container
sURL, // URL to get
sFile, // file to store data in
0, // reserved
&callback // ptr to IBindStatusCallback
);
콜백 HEAD입니다.
class CCallback : public IBindStatusCallback
{
public:
CCallback();
~CCallback();
.
.
.
STDMETHOD(OnLowResource)(
/* [in] */ DWORD reserved)
{ return E_NOTIMPL; }
STDMETHOD(OnProgress)(
/* [in] */ ULONG ulProgress,
/* [in] */ ULONG ulProgressMax,
/* [in] */ ULONG ulStatusCode,
/* [in] */ LPCWSTR wszStatusText);
.
.
.
};
헤드의
STDMETHOD(OnProgress)(
/* [in] */ ULONG ulProgress,
/* [in] */ ULONG ulProgressMax,
/* [in] */ ULONG ulStatusCode,
/* [in] */ LPCWSTR wszStatusText);
을 *.cpp에서 이 부분을 아래와 같이 VC++처럼 정의하면 Error가 발생합니다.
물론 VC++에서는 아주 잘 되는데 말입니다.
아마 C++ Builder에서 표현방식이 다른 것 같은데..
아시는 분 ... 답변 부탁드립니다.
물론 다 가리고 compile 해봤는데... STDMETHOD() ... 표현들은 다
정상적으로 compile됩니다.
그리고 동작 잘되는 VC++ 소스 올려 둡니다.
아... 답변이 없으면 DLL로 만들어서 해야죠... ㅋㅋㅋㅋ
HRESULT CCallback::OnProgress ( ULONG ulProgress, ULONG ulProgressMax,
ULONG ulStatusCode, LPCWSTR wszStatusText )
{
return S_OK;
}
|