|
만해 님이 쓰신 글 :
: CppWebBrowser라는 걸 요즘 건드리고 있는데요
:
: 제가 공부가 부족해서 그런것 같은데
:
: TVariant* 형을 wchar_t* 형으로 전환을 해야 하는데
:
: 이게 잘 안되네요
:
: 억지도 타입 캐스팅 시켜 놨더만
:
: 이상한값이 들어 왔다고 CppWebBrowser에서 에러 시키네요
:
: 좀 봐주세요
:
: void __fastcall TForm1::WebBrowser1BeforeNavigate2(TObject *Sender,
: LPDISPATCH pDisp, TVariant *URL, TVariant *Flags,
: TVariant *TargetFrameName, TVariant *PostData, TVariant *Headers,
: TOLEBOOL *Cancel)
: {
: wchar_t* Url = (wchar_t*)URL; <- 위에서 파라메타로 들어온 URL을 wchar_t* 형으로 바꿔야 하는데
: ShowMessage(Url);
: TCppWebBrowser* MyWeb;
: MyWeb->Navigate((wchar_t*)URL,NULL,NULL,NULL); <- 여서 맨날 에러 나네요
: OleVariant Document;
: Document = MyWeb->Document;
: Memo1->Lines->Add(Trim(Document.OlePropertyGet("Body").OlePropertyGet("Innerhtml")));
: delete MyWeb;
: }
:
: 고수님들의 조언 바랍니다.
저도 초보지만..제가 테스트 해본 결과..
CppWebBrowser1->Navigate((wchar_t*)URL,NULL,NULL,NULL); 라고 했는데 전혀 에러가 나지 않았습니다.
제 생각에는 변환이 문제가 아니고 객체 생성에서 문제가 있는듯 하네요..
TCppWebBrowser* MyWeb; 하실때 객체를 생성해 주지 않으신것 같네요..
그래서 제가..TCppWebBrowser* MyWeb = new TCppWebBrowser(NULL); <---delete 때문에..로 했는데..역시
[C++ Error] Unit1.cpp(26): E2015 Ambiguity between '_fastcall Shdocvw_tlb::TCppWebBrowser::TCppWebBrowser(Classes::TComponent *)' and '_fastcall Shdocvw_tlb::TCppWebBrowser::TCppWebBrowser(void *)'
라는 에러가 났습니다. 둘중에 어떤건지 애매모호하다는군요..좋은 빌더가.친절하게도..그래서..void*형으로 캐스팅을 해보자.해서 해봤죠..그랬더니 되는군요..ㅡㅡ;저도 초보라..지금 고3인데.월요일 점수만 기다리고 있습니다.
제가 한 코딩은 다음과 같네요..
wchar_t* Url = (wchar_t*)URL; //<- 위에서 파라메타로 들어온 URL을 wchar_t* 형으로 바꿔야 하는데
ShowMessage(Url);
TCppWebBrowser* MyWeb = new TCppWebBrowser((void*)NULL);
MyWeb->Navigate((wchar_t*)URL,NULL,NULL,NULL);// <- 여서 맨날 에러 나네요
OleVariant Document;
Document = MyWeb->Document;
Memo1->Lines->Add(Trim(Document.OlePropertyGet("Body").OlePropertyGet("Innerhtml")));
delete MyWeb;
그럼..수고..맞는지는..ㅡㅡ;저도 초보라..
|