blöd daß die Exceptions einfach unterschlagen werden
#2 = Bitmap
#10 = RCData
die Bilder sind also doch da
Delphi-Quellcode:
function EnumResTypeProc(hModule: THandle; lpszType: PChar; lParam: Integer): LongBool; StdCall;
var
arr: ^TStringDynArray absolute lParam;
begin
SetLength(arr^, Length(arr^) + 1);
if Cardinal(lpszType) > $FFFF then arr^[High(arr^)] := lpszType
else arr^[High(arr^)] := Format('#%d', [Integer(lpszType)]);
Result := True;
end;
function EnumResNameProc(hModule: THandle; lpszType, lpszName: PChar; lParam: Integer): LongBool; StdCall;
begin
if Cardinal(lpszName) > $FFFF then TMemo(lParam).Lines.Add(lpszType + ' ' + lpszName)
else TMemo(lParam).Lines.Add(lpszType + ' ' + Format('#%d', [Integer(lpszName)]));
Result := True;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
h: THandle;
i: Integer;
ResTypes: TStringDynArray;
begin
h := LoadLibrary('C:\Dokumente und Einstellungen\Administrator\Desktop\CardsDLL.dll');
EnumResourceTypes(h, @EnumResTypeProc, Integer(@ResTypes));
for i := 0 to High(ResTypes) do
EnumResourceNames(h, PChar(ResTypes[i]), @EnumResNameProc, Integer(Memo1));
end;
jetzt mal gucken warum der nicht läd
nutze mal RT_BITMAP statt 'Bitmap'
[edit]
so geht's
r := TResourceStream.CreateFromID(h, CardIndex, RT_BITMAP);