|
dll 파일을 실행파일에 포함시켜 만들고
exe가 실행되면 dll을 풀어놓는걸 하려고 하는데요
팁 게시판에 있는대로 아래처럼 만들었어요
bool __fastcall SaveFileFromResource(wchar_t *Resname, wchar_t *ResType, wchar_t *SaveFName)
{
TResourceStream *ResSt;
try
{
ResSt = new TResourceStream((int)HInstance, Resname, ResType);
ResSt->SaveToFile(SaveFName);
return true;
}
__finally
{
delete ResSt;
}
}
문제점이 뭐냐면
프로젝트의 리소스 매너저에서 파일을 추가한경우나
rc파일을 직접수정한경우 리소스 타입을 bitmap , icon , cursor , rcdata .... 처럼 기존에 있는 이름으로 하면
TResourceStream 이걸 실행할때 , "찾을수없습니다" 라는 말이 나옵니다
bitmap1 Bitmap "1.bmp"
bitmap2 RCData "2.bmp"
-- 이런경우는 파일을 찾을수 없다는 에러가 나오고
bitmap1 aaa "1.bmp"
bitmap2 bbb"2.bmp"
-- 이런경우는 작동합니다
전 프로젝트 매니저에서 추가해서 쓰고싶은데.. 뭔가 방법이 없을까요?
그리고 qna 검색해보니까
TResourceStream 의 맨마지막 인자를 RC_RCDATA 로 넣더라구요
전 그렇게 하면 에러가 나는데 왜그런지도 알려주세요...^^
그리고 rad studio 2010 사용중입니다
|