C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[66552] Re:파일시스템 안쓰고 EXE에 내장된 DLL 카피 없이 바로 사용?
aaa [] 1066 읽음    2012-03-09 16:14
aa 님이 쓰신 글 :
: EXE 리소스에 DLL 파일 넣고 실행할 때
:
: 1. 리소스로 부터 시스템디렉토리나 임시 디렉토리에 DLL 파일을 생성해서 저장한다
: 2. LoadLibrary( 위에서 생성한 패스.dll) 를 이용해서 DLL을 로드한다
: 3. GetProcAddress(함수네임)으로 함수의 주소를 얻는다
: 4. DLL 함수를 사용한다
:
: 저런 식으로 DLL 파일을 리소스로 부터 읽어 들여서 시스템이나 임시 디렉토리에 카피해 놓고
: LoadLibray로 로드해서 사용하잖아요
:
: 궁금한건 임시 디렉토리 같은거 이용하지 않고
: EXE안에 내장되어 있는 DLL을 카피 없이 바로 다이렉트로 EXE 안에서 사용할수 없는가 하는거거든요
: 이런 방법이 가능한가요?
 Graphics::TBitmap *wa1 =new Graphics::TBitmap;

	 TResourceStream *ResStream1;
	 HINSTANCE ImageDllInstance;
	 ImageDllInstance = LoadLibrary("pslib.dll");    //DLL에서 이미지들을 가지고 온다.
	 ResStream1 = new TResourceStream( (int)ImageDllInstance, "ID_800X600", RT_RCDATA );
	 wa1->LoadFromStream( dynamic_cast( ResStream1 ) );

이거보면 힌트가 되지않을가요? dll에 리소스 포함시킨상태에 dll파일을 가저와서 비트맵 뽑아내고
wa1비트맵 클래스에 집어넣은상태 이것처럼하면될거같은데요
힌트가될듯 저장안하고 바로 그림을 사용하는거니깐

+ -

관련 글 리스트
66538 파일시스템 안쓰고 EXE에 내장된 DLL 카피 없이 바로 사용? aa 820 2012/03/09
66552     Re:파일시스템 안쓰고 EXE에 내장된 DLL 카피 없이 바로 사용? aaa 1066 2012/03/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.