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

델파이 Q&A
Delphi Programming Q&A
[6304] [답변] KABLE/ VCL30.DPL error와 Edit 1000개 (D3)
박지훈.임프 [cbuilder] 817 읽음    1999-06-17 18:24
안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당 임펠리테리입니다.

모르시고 작업하시는 거라고 생각하기는 어렵습니다만...

에디트처럼 윈도우 핸들을 가지는 컨트롤을 동시에 1000개나 생성시킨다는 것은...

결코 좋은 코딩이 아니죠. 프로그래머마다 조금씩 다르지만, 저같은 경우, 한꺼번에

생성시키는 컨트롤을 동시에 100개 이상은 곤란하다고 생각하고 있습니다.

문제가 무엇인지는 아시는지요? 리소스 때문입니다. 윈도우즈에서 리소스는 언제나

발목을 잡는 족쇄같은 거죠. 윈도우컨트롤을 하나 생성하면, 최소한 윈도우 핸들을

하나 이상 잡아먹게 되고, 바로 리소스를 차지하게 됩니다. 리소스는 무한정한 자원

이 아닙니다. 간단한 예로, 델파이를 계속해서 실행해보세요. 시스템마다 조금씩

다르긴 하겠지만, 무한정 뜨지는 않습니다. 그리고.. 만약 95/98 커널이라면 다운되는

상황도 발생합니다. 이것은 cpu 타임 때문이 아니죠. 아무것도 하지 않고 그냥 떠있는

델파이가 cpu 타임을 먹으면 얼마나 먹겠습니까.

권하고 싶은 개선안은... 일단 1000개의 에디트를 하나의 폼에 동시에 올리지 않는다

는 전제하이지만(물론 저는 하나의 폼에 1000개의 에디트를 올릴 방법조차도 없다고

생각합니다만), 에디트를 많이 가지는 폼들은 모두 가능한한 동적으로 생성시키는

겁니다. 예를 들어, 폼이 50개이고, 거기에 20개씩의 에디트가 있는 경우라면 쉽게

적용할 수 있는 겁니다.

그럼 참고하시길...




임펠리테리 박지훈이었습니다.

(http://myhome.thrunet.com/~cbuilder, cbuilder@thrunet.com)



+ -

관련 글 리스트
6304 [답변] KABLE/ VCL30.DPL error와 Edit 1000개 (D3) 박지훈.임프 817 1999/06/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.