Q&A

  • Twebbrowser를 이용하여 새창이 뜨는 경우, FlatStyle 컴포넌트 버그
Twebbrowser를 이용하여 새창이 뜨는 사이트를 접속하는 경우
새창이 하나가 뜨는 경우에는 정상적으로 작동이 되는데
1. 새창이 두개 뜨는 경우는 하나는 정상적으로 뜨는데 하나는 브라우저 객체가 사라지(?)는데 ㅡ.ㅡ;; 쩝

아래는 새창이 뜰대 설정한 부분입니다.

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
var
  Form2: TForm2;
begin
  Form2 := TForm2.Create(nil);
  ppDisp := Form2.WebBrowser1.DefaultInterface;
  Form2.Show;
end;

2. 보통 새창으로 여는 경우 자바 스트립트를 이용하여 여는데 새창을 여는 자바 스트립트를 좀 복잡(?)하게 하면 위와 같은 현상이 나옵니다.
(아..내가 생각해도 설명이 어렵다 ㅡ.ㅡ )

암튼 첫번쨰 문제만 해결되면 아래 것도 해결이 가능할 것 으로 보입니다.

참고로 이쁘게 맹그러주는 Flatstyle컴포넌트에 치명적인 메모리 누수 (DC)가 있더군요...
프로그램을 맹그러 노쿠 확인해 보니.DC쪽에 문제 있습니다.
컴포넌트는 BUtton 스타일들입니다.

그럼 명쾌한 답변을 기다리며..^^*
1  COMMENTS
  • Profile
    홍명길 2003.05.10 01:12
    결국 자답을 하는 군요,..ㅋ1ㅋ1 설명이 오려워서..못알아 보시나방

    일단 정답은 객체가 사라지는 것이 아니라
    크기를 설정하는 과정에서 업어지는 것입니다.
    새창을 띠우는 경우 보통 자바 스크립트를 이용하여 크기를 조정하여
    생성하는데 이 과정에서 크기 조정이 브라우저 컴포넌트로 넘어 올떄
    크기 계산의 수치상의 문제가 발생하여 넘오 오더군요..
    그냥 간단히 해결하였습니다.