Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   No se encuentra recurso en aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=90024)

Ramsay 21-03-2016 20:03:09

No se encuentra recurso en aplicacion
 
Hola tengo un programa que cuando se cargar un boton , crea un recurso manualmente en la aplicacion misma (en este caso una imagen) y despues lee el recurso para mostrarlo en un timage.El problema es que parece que crea el recurso bien pero cuando quiero cargar el recurso dice que no lo encuentra cuando lo busca.

El codigo.

Código 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;

¿ Cual es el problema ?

AgustinOrtu 21-03-2016 20:38:11

Muy poco he usado recursos.

Por lo poco que pude investigar, los recursos son compilados, no podes crearlos en runtime

Ramsay 21-03-2016 21:53:17

Eso parece , estoy probando con un exe diferente al programa , y cuando realizo la funcion corrompe el exe especificado y deja de andar. ¿Porque pasara ?

Reasen 22-03-2016 12:33:49

Lee sobre los archivos .rc, necesitas compilar el recurso con rc.exe, esta incluido en DelphiXE


La franja horaria es GMT +2. Ahora son las 05:40:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi