그냥 리소스에다가 RCDATA형식으로 JPG를 구겨넣으시구, 리소스 관련 API함수들 쓰시면 됩니다....
아래와 같은 형식으로 스크립트 만들어서 델파이의 BRCC32.exe로 컴파일 하면 리소스 만들어 집니다.
리소스이름 RCDATA 리소스패스
예) test RCDATA C:test.jpg
procedure TForm1.Button1Click(Sender: TObject);
var
DllHandle: THandle;
ResHandle: THandle;
MemHandle: THandle;
ResSize: Integer;
ResPtr: Pointer;
Stream: TMemoryStream;
begin
DllHandle := LoadLibrary('D:Projectstest.dll');
if DllHandle <> 0 then
begin
try
ResHandle := FindResource(DllHandle, 'test', RT_RCDATA);
if ResHandle <> 0 then
begin
ResSize := SizeOfResource(DllHandle, ResHandle);
MemHandle := LoadResource(DllHandle, ResHandle);
if MemHandle <> 0 then
begin
ResPtr := LockResource(MemHandle);
if ResPtr <> nil then
begin
Stream := TMemoryStream.Create;
Stream.Write(ResPtr^, ResSize);
// Stream에 들어 있으니까 파일로 저장하시던가 화면에
//보여주시던가... 님이 알아서하세요...
그냥 리소스에다가 RCDATA형식으로 JPG를 구겨넣으시구, 리소스 관련 API함수들 쓰시면 됩니다....
아래와 같은 형식으로 스크립트 만들어서 델파이의 BRCC32.exe로 컴파일 하면 리소스 만들어 집니다.
리소스이름 RCDATA 리소스패스
예) test RCDATA C:test.jpg
procedure TForm1.Button1Click(Sender: TObject);
var
DllHandle: THandle;
ResHandle: THandle;
MemHandle: THandle;
ResSize: Integer;
ResPtr: Pointer;
Stream: TMemoryStream;
begin
DllHandle := LoadLibrary('D:Projectstest.dll');
if DllHandle <> 0 then
begin
try
ResHandle := FindResource(DllHandle, 'test', RT_RCDATA);
if ResHandle <> 0 then
begin
ResSize := SizeOfResource(DllHandle, ResHandle);
MemHandle := LoadResource(DllHandle, ResHandle);
if MemHandle <> 0 then
begin
ResPtr := LockResource(MemHandle);
if ResPtr <> nil then
begin
Stream := TMemoryStream.Create;
Stream.Write(ResPtr^, ResSize);
// Stream에 들어 있으니까 파일로 저장하시던가 화면에
//보여주시던가... 님이 알아서하세요...
Stream.Free;
end;
end;
end;
finally
FreeLibrary(DllHandle);
end;
end;
end;
^^ 항상 즐코하세요...