Hallo Ich habe ein Programm, das, wenn eine Schaltfläche geladen wird, erstellt eine Ressource manuell in der Anwendung selbst (in diesem Fall ein Bild) und liest dann die Ressource in einem timage.El Problem angezeigt wird dass es scheint, dass die Ressource gut erstellt, aber wenn ich die Ressource laden will sagt es nicht finden, wenn Sie suchen.Erstellen und Laden von Ressourcen in Delphi
Der Code.
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;
wie ich das lösen?
Dank Remy, eine letzte Frage, wenn ich ohne meinen ursprünglichen Code verwenden eine andere exe Angabe, meine Funktion die Exe beschädigt, weil er verbrachte das? weil ich sieben 64-bit habe? – FF2
eine Frage, warum Schlaf (3000); ? Vielen Dank. – Passella