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
[50611] Re:Re:동적으로 구조체를 핸들링 하고 싶은데요...
이용태 [] 1424 읽음    2007-09-19 10:19
음.. 장성호님께서 말씀하신것처럼 MDI 이므로.. child 원도우에 해당 구조체를 만들어서 관리를 해도 됩니다.

child 원도에 구조체를 선언해놓으면 child가 생성되거나 삭제 될때 자동으로 구조체를 만들었다가 지웠다 하니까 말이죠..

그런데.. 실력 증진(?)을 위해서 STL을 함 써보고 싶어서 그런겁니다.

미리미리 알아두어.. 나중에 동적으로 구조체를 핸들링해야 할 경우에 써보고 싶어서입니다..

답변 감사드리고요... 올려주신 소스 많이 분석하고 테스트해보겠습니다.. STL 책도 많이 보고요...

항상 친절한 답변 감사드립니다.


장성호 님이 쓰신 글 :
: MDI Child를 이용하는데 무엇이 문제인지 이해가 잘 안되네요
:
: [객체관리]
:
: VCL에서 기본적으로 제공되는  TList 이용하여 동적으로 생성되는
: 여러가지 객체를 관리할 수 있습니다.
:
: @ TList 예제
:
: struct MyStruct
: {
:     int i;
:     String s;
: };
: TList *StLst;
: void __fastcall TForm1::FormCreate(TObject *Sender)
: {
:     StLst=new TList;
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::FormDestroy(TObject *Sender)
: {
:     while(StLst->Count>0)
:     {
:         MyStruct *st=(MyStruct *)StLst->Items[0];
:         delete st;
:         StLst->Delete(0);
:     }
:     delete StLst;
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:     MyStruct *st=new MyStruct;
:     st->i=StLst->Count+1;
:     st->s=Now().FormatString("yyyy-mm-dd hh:nn:ss");
:     StLst->Add(st);
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
:     if(StLst->Count>0)
:     {
:         MyStruct *st=(MyStruct *)StLst->Items[0];
:         ShowMessage(st->s);
:         delete st;
:         StLst->Delete(0);
:     }
: }
: //---------------------------------------------------------------------------
:
:
: 님께서 말한 TTypeList 는   Template 으로 만든것으로
: compile할때 객체의 형을 결정하여
: 아래처럼 사용시 형변환이 필요없습니다.
:  MyStruct *st=(MyStruct *)StLst->Items[0];
:
: 나머지는 비슷합니다.
:
: 그럼..
:
:
: 이용태 님이 쓰신 글 :
: : 프로그램을 만들고 있습니다. MDI 입니다.
: :
: : child 원도를 만들때마다.. child 원도의 포인터를 가리키는 MDIChildren[i]가 생깁니다..
: :
: : 이것을 이용해서.. 여러 child 원도들을 선택하여 해당 작업을 수행할 수 있습니다.
: :
: : 그런데.. 생성된 child 원도들에 한개의 폼을 이용하여 특정 작업을 수행하고 싶습니다.
: :
: : 예를 들면 다음그림과 같이.. child1, child2 원도우가 있고.. 이 child 원도에 특정 기능을 수행 할 수 있는 Form이 있습니다.
: :
: :        ----------------
: :           function, variables     <---- Form
: :           ----------------
: :
: :     -----              -----
: :     child1              child2       <---- child window
: :     -----              ------
: :
: :
: : Form을 띄워서 에딧박스에 변수값을 설정한 후, 특정 기능을 실행시키는 버튼을 누르면 child1에 그 기능이 적용됩니다. Form은 현재 띄어져 있는 상태입니다.
: :
: : 이 상태에서 child2를 선택하면.. 기존 child1에서 작업한 변수값들이 모두 초기화 된 상태로 Form이 변합니다. 여기서 다시 Form에 변수값을 설정한 후, 특정 기능을 실행시키는 버튼을 누르면 child2에 그 기능이 적용됩니다.
: :
: : 그리고 나서 다시 child1을 선택하면.. 이전에 설정했던 변수들이 Form에 재 설정되고, 다시 child2를 선택하면 child2에서 설정한 변수값들이 Form에 재설정되도록 하고 싶습니다.
: :   
: : 그래서 생각한게 폼에서 설정하는 변수들을 모은 구조체를 동적으로 생성시켜 관리하면 좋을거 같다라고 생각했고.. 링크드리스트를 이용하면 되겠다 라고 생각했지만... 좀 다른 것을 사용해보고 싶어 여기 컴포넌트/라이브러리, 자료실을 뒤져 보니 몇개의 자료가 있더군요... 그런데... 결정적으로 실력이 안되어.. 이해하기 어렵더군요... -_-;;;
: :
: : 죄송하지만...
: : 컴포넌트/라이브러리)474. Template TList, 형을 지정할 수 있는 유사 TList. (버그 수정됨. 3)[1][2]
: : 컴포넌트/라이브러리)441. 구조체를 동적 배열로 관리할 수 있는 클래스[1]
: : 에 관련된 예제 소스 사용법이나 다른 동적으로 구조체 관리할 수 있는 것들을 알려주시면 안될까요?
: :
: : 답변 부탁드립니다.

+ -

관련 글 리스트
50590 동적으로 구조체를 핸들링 하고 싶은데요... 이용태 1264 2007/09/17
50601     Re:동적으로 구조체를 핸들링 하고 싶은데요... 장성호 1404 2007/09/18
50611         Re:Re:동적으로 구조체를 핸들링 하고 싶은데요... 이용태 1424 2007/09/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.