Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bilder aus einer externen Datei laden (https://www.delphipraxis.net/144156-bilder-aus-einer-externen-datei-laden.html)

Whatever 2. Dez 2009 17:02

Re: Bilder aus einer externen Datei laden
 
Hm.... Hat zufällig jemand eine Idee warum ich nicht an meine Ressourcen komme? :gruebel:

*Push* :)

himitsu 2. Dez 2009 17:10

Re: Bilder aus einer externen Datei laden
 
Kannst du mal die DLL hochladen?

Whatever 2. Dez 2009 17:13

Re: Bilder aus einer externen Datei laden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Jup das ist sie...

himitsu 2. Dez 2009 17:31

Re: Bilder aus einer externen Datei laden
 
blöd daß die Exceptions einfach unterschlagen werden :wall:
#2 = Bitmap
#10 = RCData

die Bilder sind also doch da :-D

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 :)
Delphi-Quellcode:
r := TResourceStream.CreateFromID(h, CardIndex, RT_BITMAP);

Whatever 2. Dez 2009 21:48

Re: Bilder aus einer externen Datei laden
 
Aaaaah vielen Dank! Jetzt wird das Bild gefunden... allerdings kommt gleich die nächste Exception hinterher, die sagt, dass die Bitmap ungültig ist :gruebel:

Whatever 4. Dez 2009 15:22

Re: Bilder aus einer externen Datei laden
 
Hallo,

leider muss ich nochmal pushen, da mir einfach nicht klar ist warum die geladene Bitmap ungültig sein soll. Die Exception tritt beim Anzeigen des Bildes auf:
Delphi-Quellcode:
Image1.Picture.Bitmap.Assign(bmp);
Vielleicht hat ja jemand eine idee...

DeddyH 4. Dez 2009 16:43

Re: Bilder aus einer externen Datei laden
 
Wie wäre es denn mal mit mehr Quellcode?

Andreas L. 4. Dez 2009 18:23

Re: Bilder aus einer externen Datei laden
 
Die Bilder die du in der ressource abgelegt hast sind auch ganz sicher vom Typ Bitmap? Nicht Jpeg oder so?

Whatever 4. Dez 2009 18:27

Re: Bilder aus einer externen Datei laden
 
Ich würde gerne mehr Code zeigen allerdings besteht dieses Projekt bis jetzt nur aus dieser Funktion :-D
Es sind ganz sicher Bitmaps... zählen bei diesen noch andere Faktoren/Eigenschaften der Bitmap an denen es liegen könnte?
Vielen Dank übrigens :wink:

Whatever 4. Dez 2009 18:40

Re: Bilder aus einer externen Datei laden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Könnte es sein, dass ich versuche den "Ordner" in der DLL zu laden. Ich habe einen Screenshot angehängt, in dem man die Struktur der DLL sieht. Das Markierte sieht ja schwer nach Pfad aus und demnach... naja lade ich den Ordner als Bitmap. Ich hab keine Ahnung ob da was dran ist, ich arbeite zu ersten mal mit Dlls :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz