|
OCX 에서 웹 브라우저에 접근하기 위한 방법을 찾고 있습니다.
델 마당에서 해당 샘플을 찾게 되었는데요.
아래처럼 빌더로 변환하여 실행해 보면 에러가 나네요.
ActiveForm 에서 IUnknown * 형의 프로퍼티 Window 를 만들었습니다.
// 델파이
procedure TActiveFormX.Set_window(const Value: IUnknown);
begin
FWindow := Value as IHTMLWindow2;
end
procedure TActiveFormX.Button1Click(Sender: TObject);
begin
FWindow.close;
end
// 위를 빌더로 변환
STDMETHODIMP TAllInOneAFXImpl::set_Window(LPUNKNOWN Value)
{
try {
m_VclCtl->FWindow = NULL; // m_VclCtl->FWindow 는 IHTMLWindow2 *FWindow; 입니다.
m_VclCtl->FWindow = (IHTMLWindow2 *)Value;
}
catch(Exception &e){
return Error(e.Message.c_str(), IID_IAllInOneAFX);
}
return S_OK;
};
void __fastcall TAllInOneAFX::Button1Click(TObject *Sender)
{
FWindow->close();
}
델파이의 FWindow := Value as IHTMLWindow2; 이 부분을
m_VclCtl->FWindow = (IHTMLWindow2 *)Value;
이렇게 하는 부분에 문제가 있을것 같긴 한데요..
어찌해야 할지 여러분의 도움을 기다립니다.
|