|
인터넷 브라우져를 올려놓고
Navigate 함수를 사용하여 페이지를 띄우고
그 띄운 결과에서 소스값을 받아서 데이터 처리를 하려고 합니다.
띄운 결과에서 소스값이 나올려면 페이지가 다 뜬뒤에 소스를 받아서 연산처리를 거쳐 특정 값을 줘야만 하는데...
이노무 것이 페이지가 다 뜨지도 않았는데 소스를 받으려고 하고 연산처리까지 빈 값으로 해버리더군요.
이같은경우 wait 이라든지 다른 뭔가가 방법이 있을듯 한데요.
혹시 이러한 문제를 해결하는 방법을 아시는분 계신가요???
Memo1->Text = ""; //Memo1 Data Clear!!!
CppWebBrowser1->Navigate(url);
//요기 사이에 뭔가 들어가던가 해야될듯한데...
if(Memo1->Text.SubString(1,5)=="data=")
{
NewNode->SubItems->Add(Get_nlevel(Memo1->Text.SubString(7,8)));
//ShowMessage("nlevel");
NewNode->SubItems->Add(Get_ntemp(Memo1->Text.SubString(7,8)));
//ShowMessage("ntemp");
void __fastcall TDeviceForm::CppWebBrowser1DocumentComplete(
TObject *Sender, LPDISPATCH pDisp, Variant *URL)
{
Edit1->Text = CppWebBrowser1->LocationURL;
IDispatch *Document;
//err
Document = CppWebBrowser1->Document;
IHTMLElement *HTMLElement;
IHTMLDocument2 *pHTMLDocument;
HRESULT hr;
WideString HTML;
WideString Text;
hr = Document->QueryInterface(IID_IHTMLDocument2,(void**)&pHTMLDocument );
if ( hr == S_OK )
{
hr = pHTMLDocument->get_body(&HTMLElement);
if ( hr == S_OK )
{
HTMLElement->get_innerHTML(&HTML);
HTMLElement->get_innerText(&Text);
HTMLElement->Release();
}
pHTMLDocument->Release();
}
Memo1->Lines->Clear();
Memo1->Lines->Add(HTML);
}
|