Q&A

  • 웹페이지와 소스를 같이 볼라구 하는데용. 꼭 답변부탁~
웹페이지와 소스를 같이 볼라구 하는데용.
아래 소스좀 봐주세용..
무한 루프로 빠져버립니다.

procedure TForm1.btnStartClick(Sender: TObject);
var
url : string;
begin
  url := 'http://www.delphi.co.kr';
  MyDocument := WebBrowser1.Document;
  while WebBrowser1.ReadyState <> 4 do
  begin
  WebBrowser1.Navigate(url, flags, targetframename, postdata, headers);
  end;

  if WebBrowser1.ReadyState = 4 then
  begin
  lblStatus.Caption := '4';
  Richedit1.Clear;
  Richedit1.Lines.Add(MyDocument.Body.InnerHTML);  // HTML 소스
  end;

참고로 readystate는 다음과 같답니다.
EADYSTATE_UNINITIALIZED        0        Default initialization state. The Control has not begun loading any properties.

READYSTATE_LOADING        1        The control is loading its properties.
READYSTATE_LOADED        2        The control has initialized its properties but is not yet interactive.
READYSTATE_INTERACTIVE        3        The control is interactive, but not all of its data is available. (It is downloading a document or frame).
READYSTATE_COMPLETE        4        The control is interactive and all of its data is available. (The current document is fully downloaded).
1  COMMENTS
  • Profile
    박상기 2003.12.24 05:31
    참고하시기 바랍니다.
    보시다시피 delphi.co.kr은 여러개의 프레임으로 구성되어 있습니다.
    정확히 프레임이 몇개인지는 세어보지 않았지만 예를 들어 3개의 프레임으로 구성되어 있다면
    READYSTATE_COMPLETE이 3번 발생됩니다.
    님의 코드를 보면 첫번째 READYSTATE_COMPLETE이 발생하면 해당 작업을 하고 끝내도록 되어 있습니다.
    이것을 기억하시고 다시 코딩해 보세요