3
您好我有一个程序,当加载一个按钮时,在应用程序本身(在这里是一个图像)手动创建一个资源,然后读取资源以显示在timage.El问题是它似乎创建的资源很好,但是当我想要加载资源时说,当你正在寻找时它找不到它。在Delphi中创建和加载资源
代码。
procedure StringtoRes(const FileName: string; Inputstream: TMemoryStream);
var
hUpdate: THandle;
begin
hUpdate := BeginUpdateResource(PChar(FileName), True);
try
UpdateResource(hUpdate, RT_RCDATA, 'ID', LANG_NEUTRAL, Inputstream.Memory,
Inputstream.Size);
finally
EndUpdateResource(hUpdate, False);
end;
end;
procedure TForm1.btnTestClick(Sender: TObject);
var
MemStr: TMemoryStream;
FileName: string;
var
RStream: TResourceStream;
JPEGImage: TJPEGImage;
begin
FileName := 'c:/test/test.jpg';
MemStr := TMemoryStream.Create;
MemStr.LoadFromFile(FileName);
MemStr.Seek(0, soFromBeginning);
StringtoRes(paramstr(0), MemStr);
MemStr.Free;
Sleep(3000);
RStream := TResourceStream.Create(HInstance, 'ID', RT_RCDATA);
JPEGImage := TJPEGImage.Create;
JPEGImage.LoadFromStream(RStream);
Image1.Picture.Graphic := JPEGImage;
JPEGImage.Free;
RStream.Free;
end;
我解决这个问题吗?
谢谢雷米,最后一个问题,当我用我的初始代码没有指定一个不同的exe,我的函数损坏了exe,因为他花了那个?因为我有七个64位?一个问题,为什么睡眠(3000); – FF2
; ?谢谢。 – Passella