Question

J'essaie d'extraire une image gif intégrée en tant que ressource dans ma dll ISAPI à l'aide de la technologie WebBroker. La ressource a été ajoutée à la DLL à l'aide du code RC suivant:

LOGO_GIF RCDATA logo.gif

À l'aide de l'explorateur de ressources, j'ai vérifié qu'il se trouvait correctement dans la DLL.

à l'aide du code suivant lève toujours une exception, "ressource non trouvée". (avec Delphi 2009)

var
  rc : tResourceStream;
begin
  rc := tResourceStream.Create(hInstance,'LOGO_GIF','RCDATA');
end;
Était-ce utile?

La solution

RCDATA est un prédéfini . type de ressource avec un ID entier de RT_RCDATA (déclaré dans l'unité Types).

Essayez d'y accéder de cette façon:

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

Autres conseils

Si je me souviens bien, il s’agit bien d’une instance du serveur Web, pas de la dll. Je ne me souviens pas du travail effectué, mais c’est la raison pour laquelle cela ne fonctionne pas. Espérons que quelqu'un d'autre puisse en tirer parti.

Utilisez votre propre type de ressource arbitraire tel que GIF:

LOGO_GIF GIF logo.gif

utilisez ensuite

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

ou utilisez simplement

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

ou utilisez simplement

     

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

Ceci. Fonctionne comme un charme.

D2009 avait également le même problème, mais essayait d'extraire TStringsList de la DLL.

Merci.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top