|
제가 dll에 리소스를 넣고 불러오기했거든요
아래는 불러오는 소스에요
Graphics::TBitmap *wa1 =new Graphics::TBitmap;
Graphics::TBitmap *wa2 =new Graphics::TBitmap;
Graphics::TBitmap *wa3 =new Graphics::TBitmap;
TResourceStream *ResStream1;
TResourceStream *ResStream2;
TResourceStream *ResStream3;
HINSTANCE ImageDllInstance;
ImageDllInstance = LoadLibrary("resource.dll"); //DLL에서 이미지들을 가지고 온다.
ResStream1 = new TResourceStream( (int)ImageDllInstance, "ID_800", RT_RCDATA );
ResStream2 = new TResourceStream( (int)ImageDllInstance, "ID_800", RT_RCDATA );
ResStream3 = new TResourceStream( (int)ImageDllInstance, "ID_1024", RT_RCDATA );
wa2->LoadFromStream( dynamic_cast<TStream*>( ResStream2 ) );
wa1->LoadFromStream( dynamic_cast<TStream*>( ResStream1 ) );
wa3->LoadFromStream( dynamic_cast<TStream*>( ResStream3 )
FreeLibrary(ImageDllInstance);
이렇게 불러오기해놓고
rc파일에는
ID_640 RCDATA "\angle1.bmp"
ID_800 RCDATA "\angle.bmp"
ID_1024 RCDATA "\angle3.bmp"
이렇게 해놨거든요
읽어서 화면에그리게했는데
한번 보여주고 엑세스 바이올레이션 에러가뜹니다
더이상진행안되구요
계속 보여주도록햇는데 더이상안되네요 에러안나는방법없을가요 검색해보고
위처럼햇는데
jpeg파일은 RCDATA 로되있고 비트맵은 BIRMAP 이라고 RC파일에 넣는다고 나와있는데
BITMAP 으로해노면 읽지를못하더군요
어떻게해야될가요; 반복문에는 화면에뿌려주는 함수만 반복되게하고
데이터는 한번만 읽도록 했는데 안되는군요 뿌려줄때마다 읽어줘야하네요
메모리dc를이용해서 저장한뒤에 사용해야하는건가요?
아마도 검색해보면서 메모리dc에 읽어서하라는글이많던데요메모리dc는어떻게 저장하는건가요?
메모리dc에저장해서 비트맵을 그려주는 방법좀 알려주시면 감사하겠습니다
3개의파일을 읽어오도록했어요
|