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
[74580] Re:Re:[질문] 프로젝트 파일 복구 방법?
[] 3401 읽음    2017-09-20 10:05
빌더(TWx) 님이 쓰신 글 :
: 단단한돌 님이 쓰신 글 :
: : 환경: C++ Builder XE5
: :
: : 프로젝트 옵션에 들어가서 보면 Form 리스트 정보가 나오지 않습니다.
: : (Project -> Project Options -> Forms)
: :
: : Icon을 지정하는 Application 에서도 기존에 지정한 Icon이 보이지가 않습니다.
: : (Project -> Project Options -> Application)
: :
: : 프로젝트 파일이 손상된 것 같은데..
: : 복구할 수 있는 방법은 어떤 것이 있나요?
: :
: : 감사합니다.
: :
: :
:
:
: 답변:
:
:
: RAD Studio 10.2 의 경우를 예로들어서 설명하면 (설치되어 있는 컴파일러가 10.2 밖에 없음)
:
: 프로그램 아이콘은 '디폴트' 버튼을 눌러서 선택하면 .cbproj 프로젝트 파일에 반영되고.
:
: (Project -> Project Options -> Forms)
: 에서의 폼 리스트는...
:
: 예를 들어서... 프로젝트에서
:
: From1(Unit1.cpp/Unit1.h/Unit1.dfm), Form2(Unit2.cpp/Unit2.h/Unit2.dfm)
:
: 위와 같이 2개의 폼이 있는데도 (Project -> Project Options -> Forms) 폼 리스트에 나타나지 않는다면
:
:
: 프로젝트 네임이 Project1.exe 로 되어있다면...
:
: Project1.cpp 파일을 열어서
:
: //---------------------------------------------------------------------------
: USEFORM("Unit1.cpp", Form1);
: USEFORM("Unit2.cpp", Form2);
: //---------------------------------------------------------------------------
: int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
: {
:     try
:     {
:         Application->Initialize();
:         Application->MainFormOnTaskBar = true;
:         Application->CreateForm(__classid(TForm1), &Form1);
:         Application->CreateForm(__classid(TForm2), &Form2);
:         Application->Run();
:     }
:       ...........
:
:
: 위와 같은 식이 되도록
:
:         Application->CreateForm(__classid(TForm1), &Form1);
:         Application->CreateForm(__classid(TForm2), &Form2);
:
: 코드가 설정되어 있어야 합니다.
:
:
: C++빌더 IDE는 '프로젝트 네임.cpp' 파일을 파싱해서
: 결과를 (Project -> Project Options -> Forms) 폼 리스트에 반영하도록 IDE가 구현되어 있습니다.
:
: 저런 식이 되도록 '프로젝트 네임.cpp' 파일을 수정/저장 해서 (Project -> Project Options -> Forms)
: 폼 리스트를 다시 열어 보세요.
:
//#include 
//#pragma hdrstop
#include "Precompile.h"      // Precompile header 사용 

#include 
//------------------
USEFORM("UnitDM.cpp", DM); /* TDataModule: File Type */
USEFORM("UnitMain.cpp", FormMain);
//---------------------------------------------------------------------------
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
	HANDLE hMutex = NULL;
	try
	{
		hMutex = CreateMutex(NULL, TRUE, L"Application/XXXMutex");
		if ( NULL == hMutex )
			throw Exception("Error:CreateMutex failed.");
		if ( GetLastError() == ERROR_ALREADY_EXISTS ) {
			OutputDebugStringA("Named Mutex already exist. skip Application init..");
			CloseHandle(hMutex);
			return 0;
		}
		Application->Initialize();
		Application->MainFormOnTaskBar = true;
		Application->CreateForm(__classid(TFormMain), &FormMain);
		Application->CreateForm(__classid(TDM), &DM);
		Application->Run();
	}
	catch (Exception &exception)
	{
		Application->ShowException(&exception);
	}
        // do something...
}


위와 같은 코드로 되어 있는데요..
중복 방지를 위한 Mutex 코드가 들어 있는데.. 이 코드를 try{} 구문 밖으로 빼도 마찬가지내요.
이상한 것은 다른 프로젝트에서는 이와 동일한 코드로 구성되어 있는데
프로젝트 옵션에 폼리스트가 잘 보입니다.
(다른 점이라면 이 프로젝트는 Precompile Header를 만들어서 Include했다는 것이고,
다른 프로젝트는 Precompile Header 없이 사용하는 것입니다. 이 차이일까요? )


+ -

관련 글 리스트
74577 [질문] 프로젝트 파일 복구 방법? 단단한돌 3339 2017/09/19
74579     Re:[질문] 프로젝트 파일 복구 방법? 빌더(TWx) 3692 2017/09/20
74580         Re:Re:[질문] 프로젝트 파일 복구 방법? 3401 2017/09/20
74581             Re:Re:Re:[질문] 프로젝트 파일 복구 방법? 빌더(TWx) 4033 2017/09/20
74582                 땡큐~! 땡큐~! 감사합니다~!! 단단한돌 3346 2017/09/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.