AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Absturz beim Laden eines Image aus Imagelist
Thema durchsuchen
Ansicht
Themen-Optionen

Absturz beim Laden eines Image aus Imagelist

Ein Thema von Shadowsong · begonnen am 27. Sep 2004 · letzter Beitrag vom 4. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
Shadowsong

Registriert seit: 27. Sep 2004
29 Beiträge
 
Delphi 6 Enterprise
 
#1

Absturz beim Laden eines Image aus Imagelist

  Alt 27. Sep 2004, 23:38
ZIEL: Ein Bitmap aus einer imagelist in ein Timage lade.

PROBLEM: programmabsturz!


also ich hab ja mal gesucht hier und es gibt immer die gleiche lösung zum laden eines image:

Code:
ImageList1.GetBitmap(0,Image1.Picture.Bitmap)
das ganze läuft über button1.click blabla
wenn ich jetzt den button anklicke, hängt sich die anwendung sofort auf und ich kann nichts mehr machen außer task-manager -> sofort beenden.


woran kann das liegen???
gibts keine bessere lösung images aus ner imagelist zu laden??



NEBENPROBLEM: GIF'S in Images. ich weiß nicht wie ich die comonents integriere!!
ich hab einige links zu downloads von den gif-componenten gefunden.. aber WAS muss ich dann mit den dingern amchen, um ein bestehendes projekt auf gifs zu trainieren ?????


DANKE IM VORAUS!!!
  Mit Zitat antworten Zitat
Nightshade

Registriert seit: 7. Jan 2003
Ort: Menden
192 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 27. Sep 2004, 23:44
  ImageList1.Draw(Image1.Canvas,0,0,0); Versuchs mal so.

Allerdings vorher das Image auf die richtige Grösse bringen (Width/Height).
Christian
Killing for peace is like fucking for virginity

Nightshade
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 29. Sep 2004, 09:58
Wenn sich Delphi aufhängt, greifst Du meist auf nicht existierende Speicherbereiche zu. Darum mal ein Schuss ins Blau: Bitmap ist nicht NIL?
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Shadowsong

Registriert seit: 27. Sep 2004
29 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 29. Sep 2004, 14:14
was ist "NIL" ???

die bitmaps sind ganz normale *.bmp in der größe 7,47 KB und dem format 50x50 pixel



warum müssen in einer imagelist alle bilder die geliche größe habe??? ich kann auch verschiedene bilder mit verschiedenen größen in eine imagelist speichern .........
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 29. Sep 2004, 14:42
Teste mal
Delphi-Quellcode:
if (Image1.Picture = NIL) or (Image1.Picture.Bitmap = NIL)
then ShowMessage('Bitmap noch nicht initalisiert!')
else ImageList1.GetBitmap(0,Image1.Picture.Bitmap);
Wenn sich es dann immer noch aufhängt, wars das nicht. Falls Du eine Meldung siehst, ist Deine Bitmap einfach noch nicht initialisiert.
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Shadowsong

Registriert seit: 27. Sep 2004
29 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 29. Sep 2004, 14:53
hm habs mit dem code von mario probiert. es kommt keine meldung, es passiert gar nichts das programm stürzt SOFORT ab.

wie kann ich denn überhaupt nachgucken ob meine bilder initialisiert sind und wie kann ich sie initialisieren auf nummer sicher ???
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 29. Sep 2004, 15:06
Mit dem Vergleich auf NIL testet Du, ob Sie auf einen Speicherbereich zeigen. Nun könnte es theoretisch sein, dass dieser Speicherbereich ungültig ist. Das könnte aber eigentlich nur passieren, wenn Du zuvor:
Image1.Picture.Bitmap.Free aufgerufen hast, dass halte ich jetzt aber für unwahrscheinlich.

Ganz sicher, dass er an dieser Stelle hängen bleibt?
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#8

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 29. Sep 2004, 15:39
Zitat von Mario:
Teste mal
Delphi-Quellcode:
if (Image1.Picture = NIL) or (Image1.Picture.Bitmap = NIL)
then ShowMessage('Bitmap noch nicht initalisiert!')
else ImageList1.GetBitmap(0,Image1.Picture.Bitmap);
Wenn sich es dann immer noch aufhängt, wars das nicht. Falls Du eine Meldung siehst, ist Deine Bitmap einfach noch nicht initialisiert.
Würde dies nicht eine Zugriffsverletzung geben, wenn <Image1.Picture> auf <nil> steht?
Du würdest in Deiner Abfrage nämlich versuchen, auf <Image1.Picture.Bitmap> zuzugreifen, obwohl
Image1.Picture NIL sein könnte, oder?

Vielleicht so:
Delphi-Quellcode:
if (Image1.Picture <> NIL) then
  if (Image1.Picture.Bitmap <> NIL) then
  // tue was mit dem Bitmap
Nach Bedarf noch die beiden Else-Zweige abarbeiten.
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 29. Sep 2004, 15:50
Normalerweise wertet Delphi boolsche Ausdrücke unvollständig aus. Wenn erste Bedingung bereits erfüllt ist, gibt es keinen Grund für Delphi, die zweite Bedingung noch zu prüfen, da es am Ergebnis nichts mehr ändert.

Es ist also für den Standardfall korrekt.
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Shadowsong

Registriert seit: 27. Sep 2004
29 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Absturz beim Laden eines Image aus Imagelist

  Alt 29. Sep 2004, 22:26
hmmmmmmmm wie initialisiere ich denn meine bitmaps so dass sie GANZ SICHER nicht NIL sind??

@ dannyboy: hm aber der code fragt doch ab, ob das IMAGE initialisiert ist. aber das prog hängt sich in dem moment auf, wenn dem IMAGE das bild aus der IMAGELIST zugeordnet wird. ist also nicht eher das problem, ob das bild aus der IMAGELIST initialisiert ist???? *ausprobier*

das problem ist echt komisch!! normal muss das doch geehen!!


please help me
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:36 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