Q&A

  • 델파이에서 리소스를 DLL로 생성할때 의문점
.BMP가 아닌 .PSD .TIF .GIF 같은 파일을 리소스 DLL로 저장하고자 할때...

RC 파일을 아래와 같이 작성을 하고,



A00 BITMAP "a00.bmp"

A01 PSD "a01.psd"

A02 GIF "a02.gif"

A03 TIF "a03.tif"



델파이에 포함된 BRCC32.EXE를 동작시키면, 아무 이상없이 컴파일되어서...

DLL까지 완성을 시켰습니다.



하지만, 델파이에서 문제가 발생했습니다.



TResourceStream(Instance, 'A00', PCHAR('BITMAP'));

TResourceStream(Instance, 'A01', PCHAR('PSD'));

TResourceStream(Instance, 'A02', PCHAR('GIF'));

TResourceStream(Instance, 'A03', PCHAR('TIF'));

을 했을때...읽지를 못했습니다.



결국,

TResourceStream(Instance, 'A00', RT_BITMAP);

으로 읽는데 성공했지만,



A01, A02, A03으로는 읽을 방법이 없더군요...-_;;

결국,

RC파일을 아래와 같이 다시 변경해서 읽어서 해결했습니다.



A00 BITMAP "a00.bmp"

A01 RCDATA "a01.psd"

A02 RCDATA "a02.gif"

A03 RCDATA "a03.tif"



TResourceStream(Instance, 'A00', RT_BITMAP);

TResourceStream(Instance, 'A01', RT_RCDATA);

TResourceStream(Instance, 'A02', RT_RCDATA);

TResourceStream(Instance, 'A03', RT_RCDATA);



여기 게시판에 보면 'AVI' 읽는 예제도 있던데....

---> TResourceStream(Instance, 'A01', PCHAR('AVI'));



왜 저는 안되는지 모르겠습니다...-_;;



부디 고수님들의 답변을 바랍니다.









1  COMMENTS
  • Profile
    최용일 2001.12.05 02:44
    안녕하세요. 최용일입니다.



    다른건 다 문제가 없는데 비트맵리소스 읽는데 문제가 있는거 같네요...



    리소스스크립트에서 BITMAP는 사용자 정의형이 아닙니다. 이건 RT_BITMAP으로 읽어야



    하구요. 이게 싫으시면



    > A00 BITMAP "a00.bmp"



    BITMAP대신에 다른 이름을 사용하세요...



    ^^ 항상 즐코하세요...



    Alfred wrote:

    > .BMP가 아닌 .PSD .TIF .GIF 같은 파일을 리소스 DLL로 저장하고자 할때...

    > RC 파일을 아래와 같이 작성을 하고,

    >

    > A00 BITMAP "a00.bmp"

    > A01 PSD "a01.psd"

    > A02 GIF "a02.gif"

    > A03 TIF "a03.tif"

    >

    > 델파이에 포함된 BRCC32.EXE를 동작시키면, 아무 이상없이 컴파일되어서...

    > DLL까지 완성을 시켰습니다.

    >

    > 하지만, 델파이에서 문제가 발생했습니다.

    >

    > TResourceStream(Instance, 'A00', PCHAR('BITMAP'));

    > TResourceStream(Instance, 'A01', PCHAR('PSD'));

    > TResourceStream(Instance, 'A02', PCHAR('GIF'));

    > TResourceStream(Instance, 'A03', PCHAR('TIF'));

    > 을 했을때...읽지를 못했습니다.

    >

    > 결국,

    > TResourceStream(Instance, 'A00', RT_BITMAP);

    > 으로 읽는데 성공했지만,

    >

    > A01, A02, A03으로는 읽을 방법이 없더군요...-_;;

    > 결국,

    > RC파일을 아래와 같이 다시 변경해서 읽어서 해결했습니다.

    >

    > A00 BITMAP "a00.bmp"

    > A01 RCDATA "a01.psd"

    > A02 RCDATA "a02.gif"

    > A03 RCDATA "a03.tif"

    >

    > TResourceStream(Instance, 'A00', RT_BITMAP);

    > TResourceStream(Instance, 'A01', RT_RCDATA);

    > TResourceStream(Instance, 'A02', RT_RCDATA);

    > TResourceStream(Instance, 'A03', RT_RCDATA);

    >

    > 여기 게시판에 보면 'AVI' 읽는 예제도 있던데....

    > ---> TResourceStream(Instance, 'A01', PCHAR('AVI'));

    >

    > 왜 저는 안되는지 모르겠습니다...-_;;

    >

    > 부디 고수님들의 답변을 바랍니다.

    >

    >

    >

    >