C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[60025] Re:[질문]Access Violation난 주소를 찾았는데요.
장성호 [nasilso] 1123 읽음    2010-01-28 12:30
VCL내부적으로 TControl->ScreenToClient함수 사용하는 경우
VCL내부적으로 ScreenToClient함수를 사용하는데는 대충 다음과 같은 경우네요

1. PopupMenu를 뛰울때
2 TApplciation객체에서 hint를 띄울때
3 Control을 Drag-Drop할때
4.기타..

위와같은 경우에 VCL내부저긍로 ScreenToClient함수를 사용하네요

만약 TControl클레스의 ScreenToClient 함수에서 AccessViolaiton이 발생했다면
함수가 호출된 Control객체가 유효하지 안는 경우인데

DragDrop의 경우 Source나 Destnation되는 객체가 nil이거나 잘못된경우이면
저기에 예외가 발생할것 같습니다.

위에 얘기한 세가지 경우와 관련된 코드가 없는지 한번 확인해 보세요

그럼..


하안인 님이 쓰신 글 :
: Accesstion Violation 0x00500A88 에서 에러가 나서
:
: map파일에서
: 0x401000 을 밴 주소 0x000FFA88를 찾았습니다.
:
:  0001:000FFA4C  @Controls@TControl@ClientToScreen$qqrrx12Types@TPoint
:  0001:000FFA78  @Controls@TControl@ScreenToClient$qqrrx12Types@TPoint  --> 이지점인데
:  0001:000FFAA4  @Controls@TControl@SendCancelMode$qqrp17Controls@TControl
:  0001:000FFAD4  @Controls@TControl@SendDockNotification$qqruiii
:
: 이지점이 제 소스상 어디 부분에 위치하고 있는지 어떻게 알 수 있나요.
: 직접 ScreenToClient를 소스상에서 부른것이 아니라 VCL에서 처리된 부분인데
: 어디에서 값을 잘못입력되서 그런지 알수없어서요.

+ -

관련 글 리스트
60024 [질문]Access Violation난 주소를 찾았는데요. 하안인 1024 2010/01/28
60025     Re:[질문]Access Violation난 주소를 찾았는데요. 장성호 1123 2010/01/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.