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
[18442] Re:코드 올려봅니다...
불사새 [] 1011 읽음    2002-05-13 23:10
아무래도 동적할당이 여려번되기 때문인듯 합니다.

아래 코드를 보면 버튼이 눌렸을때 DBGrid가 하나 생성되고 참일경우 화면에 나타나죠...

하지만 제거해야할쯤엔 조금전에 생성된 버튼이 아닌 새로이 버튼이 하나더 생성되고

그걸 제거하는겁니다...당연히 하나의 변수로 지정은 했지만 new가 호출될때마다 계속

동적 생성이 되는것이겠구요.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    b++;
    if(b<4)
    {
        a=new TButton(this);
        a->Width=100;
        a->Height=100;
        a->Left=100+b*10;
        a->Top=100+b*10;
        a->Parent=this;
    }
    else
    {
        delete a;
    }
}

이처럼 해놓은 상태에서 버튼을 누를경우 3개까지 화면에 만들어 지다가 하나만 제거되고

나머지는 제거되지 않습니다. 프로그램이 종료시에 Parent가 this이므로 this가 알아서 메모리를

제거는 하겠지만 화면에 충첩되어 나타난건 delete로는 사라지지 않겠죠...

말은 참 장황하게 했는데요...이게 아니면 어쩌죠...



^^ 님이 쓰신 글 :
: void __fastcall TServer::SpeedButton3Click(TObject *Sender)
: {
:   TDBGrid *MyDBGrid = new TDBGrid(this);
:   if(Server->Height == 147)
:     {
:       Server->Height = 294;
:       MyDBGrid->Parent = this; // 생성...
:     }
:     else
:      {
:       Server->Height = 147;
:       delete MyDBGrid; // 제거...
:      }
: }
:
: 위 코드와 같이 작성을 했는데요..Server라는 것은 폼이름이구요...폼크기를 줄이면서..
: 줄인부분에있는 DBGrid컴포넌트를 동적생성시키고 또 줄이면서 없앨려구 했거든요..근데..
: 안사라지네요..답변 부탁드립니다.. 완전 초보라 ^^;;

+ -

관련 글 리스트
18423 [질문] 동적생성한 버튼에 대해서... ^^ 948 2002/05/13
18425     Re:[질문] 동적생성한 버튼에 대해서... 불사새 1216 2002/05/13
18426         Re:Re:[질문] 동적생성한 버튼에 대해서... ^^ 1298 2002/05/13
18430             Re:Re:Re:[질문] 동적생성한 버튼에 대해서... 불사새 971 2002/05/13
18433                 코드 올려봅니다... ^^ 912 2002/05/13
18442                     Re:코드 올려봅니다... 불사새 1011 2002/05/13
18490                         답변을 늦게드리네요...^^ ^^ 873 2002/05/14
18429             Re:Re:Re:[질문] 동적생성한 버튼에 대해서... 로렌조 1043 2002/05/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.