웹페이지와 소스를 같이 볼라구 하는데용.
아래 소스좀 봐주세용..
무한 루프로 빠져버립니다.
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).
보시다시피 delphi.co.kr은 여러개의 프레임으로 구성되어 있습니다.
정확히 프레임이 몇개인지는 세어보지 않았지만 예를 들어 3개의 프레임으로 구성되어 있다면
READYSTATE_COMPLETE이 3번 발생됩니다.
님의 코드를 보면 첫번째 READYSTATE_COMPLETE이 발생하면 해당 작업을 하고 끝내도록 되어 있습니다.
이것을 기억하시고 다시 코딩해 보세요