Pregunta

Estoy intentando extraer una imagen gif incrustada como recurso dentro de mi dll ISAPI utilizando la tecnología WebBroker.El recurso se agregó a la DLL usando el siguiente código RC:

LOGO_GIF RCDATA logo.gif

Usando el explorador de recursos verifiqué que está correctamente en la DLL.

El uso del siguiente código siempre arroja una excepción, "recurso no encontrado" (usando Delphi 2009)

var
  rc : tResourceStream;
begin
  rc := tResourceStream.Create(hInstance,'LOGO_GIF','RCDATA');
end;
¿Fue útil?

Solución

RCDATA es un predefinido tipo de recurso con un ID entero de RT_RCDATA (declarado en la unidad Tipos).

Intenta acceder a él de esta manera:

rc := tResourceStream.Create(hInstance,'LOGO_GIF', MakeIntResource(RT_RCDATA));

Otros consejos

Si no recuerdo mal, en realidad estás tratando con una instancia del servidor web, no con la dll.Sin embargo, no recuerdo la solución, pero esa es la explicación de por qué eso no funciona.Esperemos que alguien más pueda aprovechar esto.

Utilice su propio tipo de recurso arbitrario como GIF:

LOGO_GIF GIF logo.gif

entonces usa

rc := tResourceStream.Create(hInstance,'LOGO_GIF','GIF'); 

o simplemente usar

rc := tResourceStream.Create(hInstance,'LOGO_GIF', RT_RCDATA); 

o simplemente usar

rc := tResourceStream.Create(hInstancia,'LOGO_GIF', RT__RCDATA);

Este.Funciona de maravilla.

D2009 aquí también tuvo el mismo problema, pero estaba intentando sacar TStringsList de la DLL.

Gracias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top