당연히 프로그램을 시작하면 실행파일이 있는 폴더에서 시작합니다.
하지만 윈도우 기동시 자동 시작하게 만든 경우 같이
즉 시스템에 의해 프로그램이 실행되는 경우는
반드시 실행파일이 있는 폴더가 기본 디렉토리로 잡히지 않는 경우가 있습니다.
그래서 실행파일이 있는 폴더에서 ini나 기타 데이타 파일 등을 읽고 쓰야 한다면
다시 말해 실행 파일 단독으로 동작하는 그런 프로그램이 아니라면,
반드시 프로그램 실행전에 실행파일이 있는 폴더로 디렉토리를 맞춰줄 필요가 있습니다.
이를 위해서는 아래처럼 딱 한줄의 코드이면 충분합니다.
//---------------------------------------------------------------------------
__fastcall TFormMain::TFormMain(TComponent* Owner)
: TForm(Owner)
{
ChDir(ExtractFilePath(Application->ExeName));
}
//---------------------------------------------------------------------------
기본 디렉토리와 관계된 여러가지 문제를 피하기 위해서는
그냥 무조건 위 코드를 넣어주는게 편합니다.
팁이라고 하기에는 너무 간단하군요.
|
이때 File명이 상대경로이면..
Form생성하면서 에러가 발생하죠
ProjectXX.cpp 에서 Application->CreateForm하기전에..
ChDir하는것이 더 좋을것 같습니다.