AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Bilder aus einer externen Datei laden
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder aus einer externen Datei laden

Ein Thema von Whatever · begonnen am 1. Dez 2009 · letzter Beitrag vom 4. Dez 2009
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von himitsu
himitsu
Online

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

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 15:47
hierbei sollte die Bitmap-Variable inizialisiert sein

entweder die übergebene Variable steht auf NIL oder sie enthält ein gültiges Bitmap.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#12

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 16:10
Hm....irgendwie versteh ichs nicht....
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#13

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 16:17
Delphi-Quellcode:
var
  bmp: TBitMap;
begin
  bmp := TBitmap.Create;
  try
    //Bild mit dem Index 0 in bmp laden
    GetCard(0, bmp);
    //irgendwas mit bmp machen, z. B.
    Image1.Picture.Bitmap.Assign(bmp);
  finally
    bmp.Free;
  end;
end;
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#14

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 16:34
Das interessante ist ja, dass es scheinbar nicht daran liegt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 17:02
Zitat von Andreas L.:
Delphi-Quellcode:
var
  bmp: TBitMap;
begin
  bmp := TBitmap.Create;
  try
    //Bild mit dem Index 0 in bmp laden
    GetCard(0, bmp);
    //irgendwas mit bmp machen, z. B.
    Image1.Picture.Bitmap.Assign(bmp);
  finally
    bmp.Free;
  end;
end;
oder eben
Delphi-Quellcode:
var
  bmp: TBitMap;
begin
  bmp := nil;
  try
    //Bild mit dem Index 0 in bmp laden
    GetCard(0, bmp);
    //irgendwas mit bmp machen, z. B.
    Image1.Picture.Bitmap.Assign(bmp);
  finally
    bmp.Free;
  end;
end;
Zitat von Whatever:
Das interessante ist ja, dass es scheinbar nicht daran liegt
Dann gibt es da etwas Pratisches, weches sich Debuggen nennt.

- man legen einen Haltepunkt (F5) an den Anfang dieser Prozedur
- starte sas Programm (F9)
- und geht dann mit F7 oder F8 schrittweise weiter
- und sage uns dann wo genau es knallt und kann gleichzeitig selber mal schauen was eventuell schief läuft
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#16

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 17:08
Der Fehler sitzt in dieser Zeile:
r := TResourceStream.CreateFromID(h, CardIndex, 'Bitmap'); Nen BP musste ich dafür aber nicht setzen da die Exception einen sowieso immer an die jeweilige stelle wirft...
Das mit dem Initialisieren verhindert diese auch nicht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 17:11
Wie genau heißt denn die Exception?

So wie es aussieht, wird wohl die Resource nicht gefunden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#18

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 17:19
Eine Zugriffsverletzung. Also die DLL wird auf jeden Fall gefunden, aber die Ressource in ihr wohl nicht, was sich an der Adresse, die nicht gelesen werden kann sehen lässt.(00000002 für Ressource 2; 00000003 für Ressource 3; usw.)
Aber warum werden diese nicht gefunden.... Ich habe mir meine DLL nochmal mit einem Programm angesehen und.... naja die Ressourcen liegen an ihren Plätzen...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 18:08
schau einfach mal, was alles in der DLL drin ist
Delphi-Quellcode:
uses Types;

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
  TMemo(lParam).Lines.Add(lpszType + ' ' + lpszName);
  Result := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  h: THandle;
  i: Integer;
  ResTypes: TStringDynArray;
begin
  h := HInstance; // hier dein DLL-Handle setzen
  EnumResourceTypes(h, @EnumResTypeProc, Integer(@ResTypes));
  for i := 0 to High(ResTypes) do
    EnumResourceNames(h, PChar(ResTypes[i]), @EnumResNameProc, Integer(Memo1));
end;
Memo1 = TMemo
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#20

Re: Bilder aus einer externen Datei laden

  Alt 1. Dez 2009, 18:36
Wow vielen Dank!!
Zitat:
#10 DVCLAL
#10 PACKAGEINFO
Das ist in der DLL...Aber...Wo sind meine Bilder
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz