Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
동적배열로 만든 컨포넌트를 해제시 nil로 해제해도
sLabel.free로 해제 했더니 컨포넌트들이 없어지긴 하는데 자꾸 알수없는 오류가 나네요.
그래서 sLabel:=nil; 이렇게 햇는데 해제가 된건가요? 폼에 컨포넌트 들은 그대로 보이던데?
또 해제할때 따로
for i:=0 to 10 do
begin
sLabel[i].Caption:='';
sLabel[i]:=nil;
end;
이렇게 해야 하나요?
아니면 한번에 sLabel:=nil; 이렇게 하나요?
4
COMMENTS
이경문
•
2001.11.25 08:31
sLabel이라는 컴포넌트 배열이 동적으로 생성한 것인가요? 동적으로 생성했으면 Free를 불러 줘야 합니다. FreeAndNil의 방법을 적용하시기 바랍니다.
for i := 0 to 10 do
begin
if sLabel[i] <> nil then
begin
sLabel[i].Free;
sBaeel[i] := nil;
end;
end;
궁금이 wrote:
> sLabel.free로 해제 했더니 컨포넌트들이 없어지긴 하는데 자꾸 알수없는 오류가 나네요.
> 그래서 sLabel:=nil; 이렇게 햇는데 해제가 된건가요? 폼에 컨포넌트 들은 그대로 보이던데?
>
> 또 해제할때 따로
> for i:=0 to 10 do
> begin
> sLabel[i].Caption:='';
> sLabel[i]:=nil;
> end;
> 이렇게 해야 하나요?
> 아니면 한번에 sLabel:=nil; 이렇게 하나요?
0
0
삭제
수정
댓글
궁금이
•
2001.11.25 17:06
free로 해제 하면 프로시저 끝까지 나가긴 하는데요 끝까지 나가고 나서 디버깅 창이 떠버려요 free로 해제 않하고 nil로 하면 메모리에 계속 상주해 있나요?
하나더 프로그램 종료 하면 free 않해도 다 해제 되나요??
이경문 wrote:
> sLabel이라는 컴포넌트 배열이 동적으로 생성한 것인가요? 동적으로 생성했으면 Free를 불러 줘야 합니다. FreeAndNil의 방법을 적용하시기 바랍니다.
>
> for i := 0 to 10 do
> begin
> if sLabel[i] <> nil then
> begin
> sLabel[i].Free;
> sBaeel[i] := nil;
> end;
> end;
>
> 궁금이 wrote:
> > sLabel.free로 해제 했더니 컨포넌트들이 없어지긴 하는데 자꾸 알수없는 오류가 나네요.
> > 그래서 sLabel:=nil; 이렇게 햇는데 해제가 된건가요? 폼에 컨포넌트 들은 그대로 보이던데?
> >
> > 또 해제할때 따로
> > for i:=0 to 10 do
> > begin
> > sLabel[i].Caption:='';
> > sLabel[i]:=nil;
> > end;
> > 이렇게 해야 하나요?
> > 아니면 한번에 sLabel:=nil; 이렇게 하나요?
0
0
삭제
수정
댓글
이경문
•
2001.11.25 17:22
free하지 않고 nil로만 assign하면 메모리에 계속 상주하게 됩니다(동적 array라고 nil해주면 메모리에서 해제되는 것도 있음).
그리고 프로그램을 종료할 때 free하지 않은 모든 메모리들은 OS가 알아서 free해 주기는 해 줍니다. 그만큼 OS가 많이 좋아 졌지요.
그런데, 안정적인 프로그램을 작성하려면 free를 해 주는 것이 좋습니다.
예를 들어 소켓과 관련된 컴포넌트들은 해제를 시켜 주지 안으면 프로그램 종료시 치명적인 에러들이 날 수 있습니다.
궁금이 wrote:
> free로 해제 하면 프로시저 끝까지 나가긴 하는데요 끝까지 나가고 나서 디버깅 창이 떠버려요 free로 해제 않하고 nil로 하면 메모리에 계속 상주해 있나요?
> 하나더 프로그램 종료 하면 free 않해도 다 해제 되나요??
>
>
> 이경문 wrote:
> > sLabel이라는 컴포넌트 배열이 동적으로 생성한 것인가요? 동적으로 생성했으면 Free를 불러 줘야 합니다. FreeAndNil의 방법을 적용하시기 바랍니다.
> >
> > for i := 0 to 10 do
> > begin
> > if sLabel[i] <> nil then
> > begin
> > sLabel[i].Free;
> > sBaeel[i] := nil;
> > end;
> > end;
> >
> > 궁금이 wrote:
> > > sLabel.free로 해제 했더니 컨포넌트들이 없어지긴 하는데 자꾸 알수없는 오류가 나네요.
> > > 그래서 sLabel:=nil; 이렇게 햇는데 해제가 된건가요? 폼에 컨포넌트 들은 그대로 보이던데?
> > >
> > > 또 해제할때 따로
> > > for i:=0 to 10 do
> > > begin
> > > sLabel[i].Caption:='';
> > > sLabel[i]:=nil;
> > > end;
> > > 이렇게 해야 하나요?
> > > 아니면 한번에 sLabel:=nil; 이렇게 하나요?
0
0
삭제
수정
댓글
궁금이
•
2001.11.25 18:59
이경문 wrote:
> free하지 않고 nil로만 assign하면 메모리에 계속 상주하게 됩니다(동적 array라고 nil해주면 메모리에서 해제되는 것도 있음).
> 그리고 프로그램을 종료할 때 free하지 않은 모든 메모리들은 OS가 알아서 free해 주기는 해 줍니다. 그만큼 OS가 많이 좋아 졌지요.
> 그런데, 안정적인 프로그램을 작성하려면 free를 해 주는 것이 좋습니다.
> 예를 들어 소켓과 관련된 컴포넌트들은 해제를 시켜 주지 안으면 프로그램 종료시 치명적인 에러들이 날 수 있습니다.
>
> 궁금이 wrote:
> > free로 해제 하면 프로시저 끝까지 나가긴 하는데요 끝까지 나가고 나서 디버깅 창이 떠버려요 free로 해제 않하고 nil로 하면 메모리에 계속 상주해 있나요?
> > 하나더 프로그램 종료 하면 free 않해도 다 해제 되나요??
> >
> >
> > 이경문 wrote:
> > > sLabel이라는 컴포넌트 배열이 동적으로 생성한 것인가요? 동적으로 생성했으면 Free를 불러 줘야 합니다. FreeAndNil의 방법을 적용하시기 바랍니다.
> > >
> > > for i := 0 to 10 do
> > > begin
> > > if sLabel[i] <> nil then
> > > begin
> > > sLabel[i].Free;
> > > sBaeel[i] := nil;
> > > end;
> > > end;
> > >
> > > 궁금이 wrote:
> > > > sLabel.free로 해제 했더니 컨포넌트들이 없어지긴 하는데 자꾸 알수없는 오류가 나네요.
> > > > 그래서 sLabel:=nil; 이렇게 햇는데 해제가 된건가요? 폼에 컨포넌트 들은 그대로 보이던데?
> > > >
> > > > 또 해제할때 따로
> > > > for i:=0 to 10 do
> > > > begin
> > > > sLabel[i].Caption:='';
> > > > sLabel[i]:=nil;
> > > > end;
> > > > 이렇게 해야 하나요?
> > > > 아니면 한번에 sLabel:=nil; 이렇게 하나요?
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
^-_-^
2001.11.26 19:38
0
COMMENTS
/
0
LIKES
동적콤포넌트생성. 사용시...
이원택
•
2001.11.26 19:15
1
COMMENTS
/
0
LIKES
퀵레포트 출력시 음영을 넣으려면....
윤신호
•
2001.11.26 19:41
QRShape1.SendToBack; QRShape1.Brush.Color:= clSilve; //적당한 색을 넣으면 되구여~ 이렇게 하시고...
탁발승
•
2001.11.26 01:32
1
COMMENTS
/
0
LIKES
keyPress이벤트에서.......의 문제(고수님...부탁염)
버섯
•
2001.11.27 00:40
탁발승 wrote: > 처음에는 엔터값이 (#13)이 반응을 했습니다. > 한참 코딩을 하다보면...다른 키값일때...
김인
•
2001.11.26 00:42
2
COMMENTS
/
0
LIKES
ADO SP로 DB를 읽을 때
사천사
•
2001.11.27 20:36
델파이 ADO콤포넌트 자체에 버그가 있어서 나는 에러로 알고 있습니다.. 볼랜드에 가서 패치 함 깔아보세...
한타무
•
2001.11.26 19:09
레코드셋 인덱스가 마지막으로 가있어서 나는 에러군요.. 루프를 빠져 나오신후 처음으로 가는 first를 ...
두아이
•
2001.11.25 22:25
2
COMMENTS
/
0
LIKES
stringgrid에서 급합니다, 살려 주세요..
깨구락지
•
2001.11.26 02:39
select top 페이지당표시갯수 * from 테이블 where 필드 not in (select top (페이지수-1)*페이지당표시갯...
버섯
•
2001.11.27 00:46
깨구락지 wrote: > select top 페이지당표시갯수 * from 테이블 > where 필드 not in (select top (페이...
궁금이
•
2001.11.25 06:06
4
COMMENTS
/
0
LIKES
동적배열로 만든 컨포넌트를 해제시 nil로 해제해도
sLabel.free로 해제 했더니 컨포넌트들이 없어지긴 하는데 자꾸 알수없는 오류가 나네요. 그래서 sLabel:=nil; 이렇게 햇는데 해제가 된건가요? 폼에 컨포넌트 들은 그대로 보이던데? 또 해제할때 따로 for i:=0 to 10 do begin sLabel[i]...
이경문
•
2001.11.25 08:31
sLabel이라는 컴포넌트 배열이 동적으로 생성한 것인가요? 동적으로 생성했으면 Free를 불러 줘야 합니다. ...
궁금이
•
2001.11.25 17:06
free로 해제 하면 프로시저 끝까지 나가긴 하는데요 끝까지 나가고 나서 디버깅 창이 떠버려요 free로 해제...
이경문
•
2001.11.25 17:22
free하지 않고 nil로만 assign하면 메모리에 계속 상주하게 됩니다(동적 array라고 nil해주면 메모리에서 ...
궁금이
•
2001.11.25 18:59
이경문 wrote: > free하지 않고 nil로만 assign하면 메모리에 계속 상주하게 됩니다(동적 array라고 nil해...
정규성
•
2001.11.25 04:37
1
COMMENTS
/
0
LIKES
마우스 이벤트에 관하여...???
이지인
•
2001.11.25 18:52
이런 방법은 어떠세요?? 버튼이 어디에 얹혀있나요? 판넬위에? 아니면 그냥 폼위에?? 아뭏튼 그것들을 ...
슬퍼요
2001.11.25 04:06
0
COMMENTS
/
0
LIKES
active form에서 active form 호출 시 같은 explorer......
델파이를
2001.11.25 01:14
0
COMMENTS
/
0
LIKES
파일명 변경하기 알려주세요
훈
•
2001.11.25 01:17
1
COMMENTS
/
0
LIKES
이에러가 무슨뜻이죠? 'Name Is Not Unique on this Context'
김지엽
•
2001.11.25 02:30
구체적인 상황을 몰라서 정확한 답변을 드릴 수는 없지만, 'Name is not unique ..' 운운하는 에러는 고유...
이호림
•
2001.11.25 00:44
1
COMMENTS
/
0
LIKES
프로그램 배포 관련 질문 입니다.
yosule
•
2001.11.25 03:25
ActiveX 관련 내용을 아시면 될 것 같군요. 간략하게 순서를 적어보면... 1. 어플리케이션 개발 2. Ac...
최선미
2001.11.25 00:04
0
COMMENTS
/
0
LIKES
Midas에서 WebConnection으로 할수 사용자 제한에관한 질문?
irookie
•
2001.11.24 23:16
1
COMMENTS
/
0
LIKES
html parser를 만들어야 하는데,,,쩝
이경문
•
2001.11.25 08:32
www.w3c.org irookie wrote: > html parser를 만들어야 하는데, 개념을 못 잡겠습니다. > > 뭘 봐야...
조태근
2001.11.24 22:31
0
COMMENTS
/
0
LIKES
소리 off, on 하는 간단한 방법??
이경원
•
2001.11.24 20:32
1
COMMENTS
/
0
LIKES
API 를 처음 공부하면서
버섯
•
2001.11.24 22:17
이경원 wrote: > 윈도우 API 에 관심을 가지고 공부를 시작하려고 하고 있습니다. 책을 한권 구했는데 무...
델파이언
2001.11.24 20:23
0
COMMENTS
/
0
LIKES
ListView 동적배열 저장하는 방법!!!
천명
•
2001.11.24 19:51
1
COMMENTS
/
0
LIKES
Ctrl+Space 가 안먹혀요.
천명
•
2001.11.28 00:19
어떻게 된게 답변이 하나도 없네.. 쩝... 어쩔수 없어서리.. 온동네 돌아다녔네요... 에고... 한글...
강세희
2001.11.26 10:08
0
COMMENTS
/
0
LIKES
꼭 빠른 답변부탁드립니다. pannel에서 label에 씌어진 글을 연속적으로 돌아가게..
초보코더
2001.11.24 08:26
0
COMMENTS
/
0
LIKES
꼭 distict를 써야 하는지요..고수님 부탁드려요..ㅠㅠ
쪼여!!
•
2001.11.24 07:57
1
COMMENTS
/
0
LIKES
이미지에 마우스가 올라가면 그림이 바뀌게....
이경문
•
2001.11.25 03:10
자료실에 가면 ImageButton이라는 컴포넌트가 있습니다. 소소까지 있으니 참조하시기 바랍니다. 쪼여!!...
궁금이
2001/11/25 06:06
Views
221
Likes
0
Comments
4
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
for i := 0 to 10 do
begin
if sLabel[i] <> nil then
begin
sLabel[i].Free;
sBaeel[i] := nil;
end;
end;
궁금이 wrote:
> sLabel.free로 해제 했더니 컨포넌트들이 없어지긴 하는데 자꾸 알수없는 오류가 나네요.
> 그래서 sLabel:=nil; 이렇게 햇는데 해제가 된건가요? 폼에 컨포넌트 들은 그대로 보이던데?
>
> 또 해제할때 따로
> for i:=0 to 10 do
> begin
> sLabel[i].Caption:='';
> sLabel[i]:=nil;
> end;
> 이렇게 해야 하나요?
> 아니면 한번에 sLabel:=nil; 이렇게 하나요?