인디tcp 서버를 열어놓구요
사용자가 접속해서 url을 날리면 그 url을 임베디드웹으로 여는건데..
AThread.Connection.Disconnect; 이 줄을 안넣으면 프로그램이 다운되는 것처럼 가만히 있구요. 모래시계만 -_-;
이 줄을 넣으면 브라우저가 생성됐다가 바로 사라져 버립니다.
하고싶은건 원격에서 URL을 요청하면 그 페이지를 다 연후에 다시 브라우저가 free 되는건데요.. 답변 부탁드립니다..
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
WB: TEmbeddedWB;
url: string;
begin
CoInitialize(nil);
url:=AThread.Connection.ReadLn(); //URL을 소켓으로 전달 받은 후
WB := TEmbeddedWB.Create(nil); //embeddedWB 브라우저를 생성하구요
TControl(WB).Parent := Form1;
Wb.Align:=alClient;
WB.Loaded;
WB.Visible := True;
WB.Go(url);
//특히 이 아래 문법이 맞는지 모르겠습니다. 원형은 아래에..
WB.OnDocumentComplete:=EmbeddedWB1DocumentComplete;
AThread.Connection.Disconnect; //이 줄을 넣지 않으면 프로그램이 다운된것처럼 가만있습니다..
end;
procedure TForm1.EmbeddedWB1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
form1.Caption:='run'; //테스트로 페이지 로딩이 끝나면 폼의 캡션을 run 으로 바꾸게 했습니다
end;
그럼.. 답변 부탁드립니다.