자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
C++ Builder Timage Picture.data : Access Violation 문의
2021.08.31 08:54
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안녕하세요.
.저희 회사에서 개발한 프로그램중에서
Frame에 TImage 컴포넌트를 사용중에 있습니다.
이전 개발 프로그램에서 동일한 방식으로 사용하는에 아무런 문제가 없습니다.
TImage png 파일을 로드 시키고 프로그램을 동작 시키면 정상적으로 Image가 포함된 Frame이 팝업이 됩니다.
하지만 일정 시간 도달후 해당 Frame 재호출시 Image1.Picture.data:Access Vioation 발생됩니다.
해당 frame은 Dialog에서 생성되어 독립적으로 팝업 되는 방식입니다.
참고적으로 TPageControl에 10page에 각각의 Frame으로 구성되어 있습니다.
잘 동작 되다가 Image1.Picture.data:Access Vioation 발생됩니다.
이전 버전에서는 해당 이슈가 없습니다.
혹시 resource complier가 문제 일까요?
이전버전 Borland Resource Compiler (brcc32.exe)이 넘을 사용하고
10.4.2는 Windows SDK Resource Compiler를 사용하고 있습니다.
코드 상의 차이는 없습니다.
코드에서 이미지 파일 로드 방식은 사용하지 않습니다.
리소스에서 지정하여 컴파일 합니다
C++ Builder Timage Picture.data : Access Violation 문의
2021.08.31 08:54
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안녕하세요.
.저희 회사에서 개발한 프로그램중에서
Frame에 TImage 컴포넌트를 사용중에 있습니다.
이전 개발 프로그램에서 동일한 방식으로 사용하는에 아무런 문제가 없습니다.
TImage png 파일을 로드 시키고 프로그램을 동작 시키면 정상적으로 Image가 포함된 Frame이 팝업이 됩니다.
하지만 일정 시간 도달후 해당 Frame 재호출시 Image1.Picture.data:Access Vioation 발생됩니다.
해당 frame은 Dialog에서 생성되어 독립적으로 팝업 되는 방식입니다.
참고적으로 TPageControl에 10page에 각각의 Frame으로 구성되어 있습니다.
잘 동작 되다가 Image1.Picture.data:Access Vioation 발생됩니다.
이전 버전에서는 해당 이슈가 없습니다.
혹시 resource complier가 문제 일까요?
이전버전 Borland Resource Compiler (brcc32.exe)이 넘을 사용하고
10.4.2는 Windows SDK Resource Compiler를 사용하고 있습니다.
코드 상의 차이는 없습니다.
코드에서 이미지 파일 로드 방식은 사용하지 않습니다.
리소스에서 지정하여 컴파일 합니다
해당 오류는 소스를 참고 하지 않은 상태에서는 정확한 진단이 어렵습니다만...
:Access Vioation 오류는 할당되지 않은 영역에 데이터를 쓰거나 불러오려고 할때 발생 합니다.
따라서 Image1.Picture.data:Access Vioation 에러는 Image1 객체가 없는 상태에서 이곳에 이미지를 로드하려고 했기 때문에 발생한 경우 입니다.
Image1 컴포넌트 객체 자체는 문제가 없겠으나 Dialog 박스에 삽입한 Frame 객체를 살펴 보셔야 합니다.
파악이 어려우시면 Frame 객체를 동적으로 생성했다가 창을 닫을때 완전히 해제 시키고 재사용하는 방식으로 변경해 보시기 바랍니다.
이때 보다 확실한 방법을 위해서 하위 객체인 Image1도 먼저 해제하고 같이 재생성해보시는게 좋을것 같습니다.