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
[15455] Re:[질문] 씨빌더로 대형프로그램 제작시...
꼴(이성렬) [kkol] 939 읽음    2002-02-12 11:07
: 문제는 TImage에서 생깁니다. 실행시 동적으로 생성하는 TImage객체가 150-180개 정도 되는데..
:
: ((TImage *) Panel1->Components[i])->Visible = false;
:

동적으로 생성했다면 어차피 TImage포인터를 가지고 있을거 아닙니까?
그러니까 위와 같이 처리하지 말고 그 포인터라가 ppImage라면..
ppImage[i]->Visisble = false;
이런 식으로 해보시죠.

: 근데.. 항상 그런것은 아닌데.. 때로는 엉뚱한 TImage객체를 컨트롤 합니다.
: 그런 현상은 시스템이 리소스를 많이 사용할때에 자주 발생하며.. 모든 프로그램을 종료하고.. 제가 짠 프로그램만 돌릴때는 거의 발생하지 않습니다.
: Panel1의 Comonents[i]로 핸들링 했는데.. Panel2에 있는 이미지가 조작되기도 하더군요.
: 어찌 하오리까???

i에 들어있는 값이 Panel1에 있는 콤포넌트 수를 넘어가는거 아닐까요?
C언어는 경계 체크를 안하니까 i값이 이상하다면 위와 같은 현상도 생길수 있을거 같은데...

소스가 없으니 알수가 없네요. ^^;

저도 버튼 200여개 동적으로 만들어서 처리해 본적인 있는데 별루 문제 없었거든요.
지금은 DrawGrid같은 것들을 주로 이용하죠

VCL에 치명적인 버그가 없는한 문제는 분명히 자신이 만든 코드 안에 있을테니
포인터하고 인덱스가 경계 벗어나는 조건이 있는지 확실해 챙겨 보세욥.
CodeGuard로 한번 돌려보는것도 한 방법이겠죠.

그럼.. 즐건 설날 되시길.. ^^

+ -

관련 글 리스트
15446 [질문] 씨빌더로 대형프로그램 제작시... 굿데이 812 2002/02/09
15455     Re:[질문] 씨빌더로 대형프로그램 제작시... 꼴(이성렬) 939 2002/02/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.