Autor Beitrag
petergensfeld
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

Windows Vista 32-Bit
Delphi XE Professional
BeitragVerfasst: Fr 06.01.06 12:27 
Hallo,

ich würde gerne ein Metafile als benutzerdefinierte Resource in eine DLL einbinden. Dazu benutze ich folgende Funktion:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function TIfiplot.LoadLogoFromResource: TMetafile;
var
  ResHandle : LongWord;
  MemHandle : THandle;
  MemPtr    : Pointer;
  Size      : LongWord;
begin
  ResHandle := FindResource(0, '#1', 'METAFILE');
  if ResHandle <> 0 then
  begin
    Size := SizeOfResource(0, ResHandle);
    MemHandle := LoadResource(0, ResHandle);
    MemPtr := LockResource(MemHandle);
    Result := TMetafile.Create;
    Result.Handle := SetEnhMetafileBits(Size, MemPtr);
  end else
    Result := nil;
end;


Der Inhalt der RC-Datei sieht so aus:
ausblenden Quelltext
1:
1 METAFILE "logo.wmf"					


Die compilierte RES-Datei wird mit folgender Anweisung eingebunden:
ausblenden Delphi-Quelltext
1:
{$R LOGO.RES}					


FindResource liefert aber immer 0. Wenn ich auf die gleiche Art ein Icon (vordefinierter Resourcetyp) einbinde, funktioniert es einwandfrei. Wer weiß Rat?

Gruß Dirk