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
[45844] Re:Re:Re:볼랜드 초보 사용자입니다. 폼을 띄우려고 합니다.
raz1004 [raz1004] 1004 읽음    2006-07-26 10:32
초기화 한다 생각하시면 될 겁니다.
Form2 가 정상적으로 new 되었나 안되었나를 확인 하기 위하여
if( Form2 != NULL) Form2->ShowModal();
이와같이 사용하기도 하고,

차후 Form2 를 파괴한 후 다시 생성 시키기 위하여 파괴시 Form2를 NULL 로 지정하고
파괴된 상태인가 아닌가를 확인하기 위하여도 사용됩니다.

프로그래밍 하다보면 쓰레기 값때문에 정신없을 때가 많아 저는 가능하면 무조건 초기화 합니다.
그만 버릇이 되서....
없어도 그만인 줄입니다~^^

RfRedEye 님이 쓰신 글 :
: 글을 읽다보니 궁금해서요
:
:       Form2=NULL; //  여기 의미는 무슨 의미 인가요?   
: :     Form2 = new TForm2(this);
: :     Form2->ShowModal();
:
: //////////////////////////////////////////////////////////////////////////////////////////////////////////////
:
:
: raz1004 님이 쓰신 글 :
: : 말씀하신것처럼 그렇게 하지 마시구요...
: :
: : 일단 New Form 을 만듭니다.
: : 그리고 그것을 원하는 Form 이름으로 변경을 합니다.
: :
: : 예를들어 NewForm의 이름이 Unit2 라하면 아래와 같이 만들어질 겁니다.
: : Unit2.cpp 화일 생성된 중간에 TForm2 *Form2; 이 있을 것인데,
: : 이것을 extern TForm2 *Form2; 로 수정 합니다.
: :
: : 다음 원래 Unit1.cpp 화일의 윗부분에
: : #include "Unit2.h" 를 추가 하고,
: : 조금 아래 부분의 TForm1 *Form1; 있는 다음 줄에
: : TForm2 *Form2; 을 추가 합니다.
: :
: : 그리고 Form1의 폼을 호출하여 바탕을 찍고 이벤트에서 OnCreat 오른쪽을 더블클릭하면
: : void __fastcall TForm1::FormCreate(TObject *Sender)
: : {
: : }
: : 이 만들어 지는데 이곳에
: :
: :     Form2=NULL;
: :     Form2 = new TForm2(this);
: :     Form2->ShowModal();
: :
: : 위의 코드를 삽입하면 디케이님이 원하는 스타일의 폼이 순차적으로 생성 될 겁니다.
: : 그럼 행운이 있으시기를~
: :
: :
: : 디케이 님이 쓰신 글 :
: : : 안녕하세요
: : :
: : : 볼랜드 포럼에 가입하고 처음으로 글을 씁니다.
: : : 저는 VC 닷넷 유저인데 회사에서 볼랜드 CPP 을 사용하는 프로그램이 있어서
: : : 볼랜드 C++ 빌더 6 프로그램만 설치해놓고 걍.. 어떻게 해야할지 몰라서 쳐다보기만 하고 있습니다. ^^;;
: : :
: : : 도움을 주시면 정말 감사하겠습니다.
: : :
: : : 제가 구현하고자하는 기능은 단순합니다.
: : :
: : : 프로그램을 설치하는 프로그램이 있습니다. AGENT 프로그램이라고도 하는데
: : : 쉽게 말해.. 카트라이더를 처음에 설치할 때 나타나는 프로그램입니다.
: : : 카트라이더는 사용자에게 폴더를 어디에 설치할 것인지 묻지않고 무조건 C:\PROGRAM FILES\NEXON 폴더에
: : : 설치를 합니다.
: : :
: : : 현재 회사에서도 유저에게 어느 폴더에 설치할 것인지 묻지 않고 바로 C:\PROGRAM FILES 폴더에 설치를 하고 있습니다.
: : :
: : : 제가 구현하고 싶은 것은 유저에게 어느 폴더에 설치할 것인지 묻고 원하는 폴더에 설치하는 것입니다.
: : :
: : : 구체적으로 들어가면 레지스터에 키를 만들어서 저장하고 불러오고 하는 게 있는데..
: : : 그런 것들은 제가 다 알아서 하구요.. 궁금한 것은..
: : :
: : : 사실 이제부터가 본론입니다. ^^
: : :
: : : WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
: : : {
: : :          Application->Initialize();
: : :          Application->CreateForm(__classid(TfrmMainForm), &frmMainForm); // 이 라인 바로 윗줄에
: : :          Application->Run();
: : : }
: : :
: : : 이 부분이 있습니다.
: : : 주석 표시한 곳 // 이 라인 바로 윗줄에
: : : Application->CreateForm(__classid(내가 만든 폼 ID), &폼객체); <- 이 것을 넣으려고 합니다.
: : : 이렇게 하려면.. 폼을 만들어야 하는데요...
: : : 과연 폼은 어느 메뉴에서 만들 수 있습니까? ^^; <- 이게 핵심 질문입니다.
: : :
: : : 결론적으로 말하면 A 폼이 나타났다가 B 폼이 나타나는 것입니다.
: : :
: : : Application->Initialize();
: : : Application->CreateForm(__classid(내가 만든 폼ID), &폼객체);
: : : Application->Run();
: : : Application->CreateForm(__classid(TfrmMainForm), &frmMainForm);
: : : Application->Run();
: : :
: : : 이렇게 하면 순차적으로 A 폼이 나타났다가 B 폼이 나타나나요?
: : : 제가 원하는 것은 A 폼이 나타나고 '마침' 버튼을 누르면 그 때 B 폼이 나타나는 것이거든요.
: : :
: : : 정리를 하겠습니다.
: : :
: : : 1. 기존에 폼이 있습니다. 이 상태에서 폼을 하나 더 만들려고 합니다. 어떻게 만드나요?
: : : 2. 기존에 만든 폼을 B 라고 하구요. 제가 만든 폼을 A 라고 합니다. A 폼에서 '마침' 버튼을 누르면 그 때 B 폼이 나타나는 것입니다. 이렇게 하려면 아래와 같이 하면 됩니까?
: : :
: : : Application->Initialize();
: : : Application->CreateForm(__classid(내가 만든 폼ID), &폼객체);
: : : Application->Run();
: : : Application->CreateForm(__classid(TfrmMainForm), &frmMainForm);
: : : Application->Run();
: : :
: : : 아.. 질문 하나 더 해도 될까요?
: : : 볼랜드 C++ BUILDER 가 VC 닷넷과 비교했을 때 어떤 좋은 점이 있나요? '특별히 이쪽 용도에 쓰면 좋다' 라는 게 있을 거 같은데.. 뭐.. 예를 들어.. 여러 DB 와 호환이 가능하고 오라클 DB 에 연결해서 사용했을 때 어떤 강력한 점이 있다더라.. 뭐 이런거요..
: : :
: : : 길게 써서.. 질문이 좀 복잡할지도 모르겠네요.
: : : 결국엔 간단한 질문인데 말이죠. 쉽게 설명하려다보니 글이 길어졌습니다. ^^
: : : 모두 회사일 하느라 바쁘실텐데.. 수고 많으십니다.

+ -

관련 글 리스트
45838 볼랜드 초보 사용자입니다. 폼을 띄우려고 합니다. 디케이 939 2006/07/25
45855     Re:볼랜드 초보 사용자입니다. 폼을 띄우려고 합니다. 외랑 1327 2006/07/26
45839     Re:볼랜드 초보 사용자입니다. 폼을 띄우려고 합니다. raz1004 1683 2006/07/25
45854         Re:Re:볼랜드 초보 사용자입니다. 폼을 띄우려고 합니다. 이재득 988 2006/07/26
45843         Re:Re:볼랜드 초보 사용자입니다. 폼을 띄우려고 합니다. RfRedEye 896 2006/07/26
45844             Re:Re:Re:볼랜드 초보 사용자입니다. 폼을 띄우려고 합니다. raz1004 1004 2006/07/26
45856                 Re:Re:Re:Re:볼랜드 초보 사용자입니다. 폼을 띄우려고 합니다. 외랑 1109 2006/07/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.