안녕하세요?
델로 프로그램작성중 어려운 문제에 봉착했습니다.
GraphicControl을 계승받아 Pipe(말그대로 파이프 역할)를 만들었습니다.
Value에 의해 색이 바뀌는 간단한 것입니다.
문제는 화면에 표시해야 하는 수가 한 400개 정도 될것 같더군요.
열심히 가져다 위치잡고 하다보니 갑자기 델이 맛이 가더군요.
몇번해보니 델의 리소스 문젠것 같더군요.
한 250개정도 올려놓고 실행하면 가버리더군요.
빌드올로 하고 EXE를 실행해보니 실행은 되더군요.
한 280개까지 늘려보니 실행후 종료하다 가버리더군요.
컴포넌트가 잘못되서 그런가 보다하구 기본컴폰넌트로 해보아도 수량의 차이는
있어도 결과는 마찬가지더군요.
이런문제의 원인과 해결책은 없나요?
빈드시 400개정도는 꾸겨넣어야 폼이 완성되는데 골치 아프네요.
도움 부탁합니다.
미리 컴포넌트를 폼위에 놓으면 그 컴포넌트를 생성 후 실행이 시작됩니다.
일단 폼위에 꼭 필요한것들만 올려놓으시구...
다음에는 같은 컴포넌트를 Array로 선언을 한뒤 생성을 시켜보세요.
물론 생성 후 필요 없어졌을때는 Free를 해주셔야 겠죠?
만약 TLabel을 300개 생성한다면 아래와 같이 해보세요.
var
Label : array[1..300] of TLabel;
만약 Label을 다른 함수에서도 이용한다면 위의 선언은 전역변수로 하셔야 겠죠?
그리고 생성은...
for i := 1 to 300 do
begin
Label[i] := TLabel.Create;
Label[i].Parent := Form1;
Label[i].Visible := True;
end;
생성 후 위치를 잡아 주는것도 잊지 마시구요..
프로그램이 끝나기 전에 꼭 해제해주는것 잊지마세요.
for i := 1 to 300 do
Lebel[i].free;
이거요...
도움이 되셨기를....
윤광윤 wrote:
> 안녕하세요?
>
> 델로 프로그램작성중 어려운 문제에 봉착했습니다.
>
> GraphicControl을 계승받아 Pipe(말그대로 파이프 역할)를 만들었습니다.
> Value에 의해 색이 바뀌는 간단한 것입니다.
>
> 문제는 화면에 표시해야 하는 수가 한 400개 정도 될것 같더군요.
> 열심히 가져다 위치잡고 하다보니 갑자기 델이 맛이 가더군요.
>
> 몇번해보니 델의 리소스 문젠것 같더군요.
> 한 250개정도 올려놓고 실행하면 가버리더군요.
> 빌드올로 하고 EXE를 실행해보니 실행은 되더군요.
> 한 280개까지 늘려보니 실행후 종료하다 가버리더군요.
>
> 컴포넌트가 잘못되서 그런가 보다하구 기본컴폰넌트로 해보아도 수량의 차이는
> 있어도 결과는 마찬가지더군요.
>
> 이런문제의 원인과 해결책은 없나요?
>
> 빈드시 400개정도는 꾸겨넣어야 폼이 완성되는데 골치 아프네요.
>
> 도움 부탁합니다.