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
[5458] 세이브하다 어케 엉긴거 같은데..
bluewing [bluewing] 2768 읽음    2001-02-14 17:08
blueecho 님이 쓰신 글 :
: 헉... 이제 빌더를 시작한 초짜입니다.
: 책을 구입해서 책을 보면서 하고 잇는데 책에서 나온 소스대로 했는데, 에러가 나옵니다.. -_-;;
: 컴파일에서는 문제가 없는데 링커에러가 납니다.
: Unable to open file 'UNIT1.DFM'라고 하는데 무슨말을 하는건지....
: 말그대로라면 UNIT1.DFM이라는 화일을 열수가 없다는 건데 저 화일이 뭐를 하는 것인지 알고싶습니다.
:

만약 완전히 처음으로 C++빌더를 써보고 계신 분이라면...
혹시 저장할 때 프로젝트 이름과 폼(UNIT1)이름을 잘못지정하신 것 아닌가 하는 생각이 드는군요.
그러니까.. 폼 이름을 프로젝트 이름과 똑같이 저장하려고 하다가 이상하게 돌아가서 저장하다 말았다든가..(제가 첨 책펴놓고 시작할 때 그랬거든요.)

뭐, 저도 이등병이지만(^^;) 설명을 해볼께요.
빌더에서 가장 기본적인 윈도우 프로그램을 작성한다면... 한개의 폼을 갖게 되는 프로그램이 되겠죠? 이 프로그램의 프로젝트 자체정보를 갖고 있는 .BPR화일이 생기고, 이 프로그램을 기동하는 역활정도 하는 .CPP화일이 생깁니다. 이 두 개의 화일은 확장자만 다르고 이름은 같게되죠. 사용자가 만드려는 프로그램의 이름과 같게 프로젝트 명을 저장하는 것 외에는 이들 화일을 거의 건드릴 일이 없습니다.

실제로는 폼(form)들을 갖고 놀게 되는데, 보시면 알겠지만 폼은 C++의 클래스로서 자동적으로 생성됩니다. 일반적으로 C++에서의 클래스 유닛(모듈이라고 말하는 사람도 있지만..)은 .h와 .cpp화일로 구성하지만, 이렇게만 해서 사용자에 의해 비주얼하게 조립(?)된대로 폼이 생성되도록 하자면, 폼을 정의하는 클래스의 컨스트럭터내용의 지저분하기가 쓰레기장*10^180정도가 되겠죠.. 그래서 폼에 대한 정보(버튼이 몇개 있다든가.. 레이블의 위치가 어떻게 된다든가)등등의 정보를 갖고 있는 화일을 따로 만들었다가 컴파일할때 읽어오게 됩니다. 이 화일이 바로 .DFM이죠.
결과적으로, 프로그램에 새로운 폼을 하나 추가할때마다 3개의 화일이 동시에 생성됩니다. 이들 화일이 처음 디폴트로 갖는 이름이 UNITx.H, UNITx.CPP, UNITx.DFM인데(여기서 x는 숫자입니다.), 얘들은 서로 똑같은 이름을 갖고 있어야 합니다. 정상적으로 유닛저장(UNITx.CPP)을 하셨다면 3개 화일의 이름이 같아야 합니다.

+ -

관련 글 리스트
5453 초짜의 초보질문입니다..^^ blueecho 2691 2001/02/14
5458     세이브하다 어케 엉긴거 같은데.. bluewing 2768 2001/02/14
5480         Re:세이브하다 어케 엉긴거 같은데.. blueecho 2707 2001/02/15
5497             Re:Re:세이브하다 어케 엉긴거 같은데.. bluewing 2567 2001/02/15
5504                 Re:Re:Re:세이브하다 어케 엉긴거 같은데.. blueecho 2758 2001/02/16
5454     Re:초짜의 초보질문입니다..^^ 홍성진 2692 2001/02/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.