2

WebBroker テクノロジを使用して、ISAPI dll 内のリソースとして埋め込まれた gif 画像を抽出しようとしています。リソースは、次の RC コードを使用して DLL に追加されています。

LOGO_GIF RCDATA logo.gif

リソース エクスプローラーを使用して、DLL に正しく含まれていることを確認しました。

次のコードを使用すると、常に「リソースが見つかりません」という例外がスローされます (Delphi 2009 を使用)

var
  rc : tResourceStream;
begin
  rc := tResourceStream.Create(hInstance,'LOGO_GIF','RCDATA');
end;
4

4 に答える 4

3

RCDATA は、RT_RCDATAの整数 ID を持つ定義済みのリソース タイプです (タイプ ユニットで宣言されています)。

この方法でアクセスしてみてください:

rc := tResourceStream.Create(hInstance,'LOGO_GIF', MakeIntResource(RT_RCDATA));
于 2008-09-18T06:26:00.980 に答える
1

または単に使用する

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

これ。チャームのように機能します。

ここのD2009でも同じ問題が発生しましたが、DLLからTStringsListを取得しようとしていました。

ありがとう。

于 2009-07-22T10:05:20.957 に答える
1

私の記憶が正しければ、実際に扱っているのは dll ではなく、Web サーバーのインスタンスです。回避策は覚えていませんが、それが機能しない理由の説明です。うまくいけば、他の誰かがこれを基に構築できます。

于 2008-09-18T05:16:33.893 に答える
1

GIF のような独自の任意のリソース タイプを使用します。

LOGO_GIF GIF logo.gif

次に使用します

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

または単に使用する

rc := tResourceStream.Create(hInstance,'LOGO_GIF', RT_RCDATA); 
于 2008-09-18T07:37:02.120 に答える