Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#24

Re: Bilder aus einer externen Datei laden

  Alt 2. Dez 2009, 18:31
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);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat