개발자료/Delphi
TWebBrowser "Floating Point Exception" 오류
구룡포과메기
2014. 11. 27. 09:56
* 증상
- Delphi7 환경에서 TWebBrowser에 브이월드3D영상을 뿌리면서 발생
- XP에서 발생(7은 발생하지 않음)
- TWebBrowser 컨트롤 위에 마우스 올리면 발생
- 디버그 모드에서는 발생하지 않으나 실행파일 실행시 발생
* 원인
Flash 파일 랜더링시 연산과정에서 발생하는 오류
* 해결방안
1. 전역으로 변수 선언
Org8087CW : Word;//system의 Default8087CW의 원래값을 기억하기 위함
2. Form 생성시 선언된 변수에 해당값 대입
Original8087CW:= System.Default8087CW;
3. WebBrowserVWorldBeforeNavigate2 이벤트에 아래구문 추가
System.Set8087CW($133F);
4. Form close시 원래값 셋팅
system.Set8087CW(Original8087CW);