C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[993] 프로그램 실행시 자기 디렉토리에서 시작하게.
김태선 [cppbuilder] 8095 읽음    2010-07-10 16:19
당연히 프로그램을 시작하면 실행파일이 있는 폴더에서 시작합니다.
하지만 윈도우 기동시 자동 시작하게 만든 경우 같이
즉 시스템에 의해 프로그램이 실행되는 경우는
반드시 실행파일이 있는 폴더가 기본 디렉토리로 잡히지 않는 경우가 있습니다.

그래서 실행파일이 있는 폴더에서 ini나 기타 데이타 파일 등을 읽고 쓰야 한다면
다시 말해 실행 파일 단독으로 동작하는 그런 프로그램이 아니라면,
반드시 프로그램 실행전에 실행파일이 있는 폴더로 디렉토리를 맞춰줄 필요가 있습니다.

이를 위해서는 아래처럼 딱 한줄의 코드이면 충분합니다.
//---------------------------------------------------------------------------
__fastcall TFormMain::TFormMain(TComponent* Owner)
    : TForm(Owner)
{
    ChDir(ExtractFilePath(Application->ExeName));
}
//---------------------------------------------------------------------------

기본 디렉토리와 관계된 여러가지 문제를 피하기 위해서는
그냥 무조건 위 코드를 넣어주는게 편합니다.

팁이라고 하기에는 너무 간단하군요.
장성호 [nasilso]   2010-07-12 02:41 X
때로 Form위에 올려진 Componnet들이 생성되면서 File을 Open하거나 하는 경우가 있습니다.

이때 File명이 상대경로이면..
Form생성하면서 에러가 발생하죠

ProjectXX.cpp 에서 Application->CreateForm하기전에..

ChDir하는것이 더 좋을것 같습니다.

+ -

관련 글 리스트
993 프로그램 실행시 자기 디렉토리에서 시작하게. 김태선 8095 2010/07/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.