|
아우~~ 쪽팔려...
다른사람 코딩은 보면 이런 문제는 금방 보이는데..
왜 저게 제눈에는 안띄였지?
//---------------------------------------
외랑 님이 쓰신 글 :
: 프로그램이 실행될 때 현재 Path가 어디냐에 따라서 에러가 나고 안나고 합니다.
: 현재 C:\windows\에서 c:\exam.exe 를 절대경로로 실행하면, 현재 path는 windows이지만
: 실행파일은 root의 exam.exe가 실행될 수 있죠. 이런 경우 아래 코드로 작성해 두시면, bmp파일을
: windows에서 찾아보게 되는 경우가 발생하겠지요.
:
: : String sFname=ExtractFilePath(ParamStr(0))+"config.bmp";
: : if(FileExists(sFname))
: : {
: : sBtn->Glyph->LoadFromFile("config.bmp");
: : }
:
: sBtn->Glyph->LoadFromFile(sFname); 으로 바꾸시면 해결될 것으로 보입니다.
:
: sFname에 이미 실행파일의 패스와 필요한 파일명인 config.bmp라는 이름도 다 들어가 있는데...
: 굳이 다시 "config.bmp"라는 string을 줘서 파일을 로드할 필요는 없겠지요.
:
:
: 장성호 님이 쓰신 글 :
: : 윈도우 레지스터리의 시작프로그램에 프로그램을 등록해 뒀습니다.
: :
: : 프로그램이 시작될때 같은폴더에 bmp 이미지 파일을 load해서
: : BitBtn의 아이콘 이미지로 씁니다.
: :
: : 파일의 존재 여부까지 확인하고 bmp파일을 Load하는데 에러가 나네요
: : "cannot open file ....";
: :
: : 부팅완료후 실행하면 전혀 문제가 없는데...
: :
: :
: : @ 코드의 일부분 ...
: :
: : TBitBtn *sBtn;
: : //--------------------------------------------------------
: : String sFname=ExtractFilePath(ParamStr(0))+"config.bmp";
: : if(FileExists(sFname))
: : {
: : sBtn->Glyph->LoadFromFile("config.bmp");
: : }
: :
: : @Imagefile을 resource로 만들어서 실행파일에 묶이면 문제가 해결되겠지만...
: : 위와같은 에러가 나는 원인이 궁금합니다.
|