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