Invalid Image handle

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

pendragon

Betreff: Invalid Image handle

BeitragSa, Feb 23, 2008 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo zusammen,

ich habe in blitz+ ein kleines programm geschrieben.
auf dem rechner auf dem es geschrieben wurde läuft es einwandfrei.
nachdem ich es auf einen anderen rechner kopiert habe (inkl. der grafiken) kommt immer die fehlermeldung "invalid image handle".
die verzeichnissstruktur ist gleich. es wird auch nur eine bestimmte grafik im debugger angezeigt. die anderen grafiken haben auch eine adresse.
nur die, die probleme macht, ist auf 0.

woran kann das liegen?
gruss
 

Dreamora

BeitragSa, Feb 23, 2008 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Sie wurde nicht geladen.
Wieviele Bilder lädst du? Könnte sein das du den Grafikspeicher überlädst, sprich du grosse / viele Bilder hast und das Zielsystem einfach ne uralte grafikkarte hat.
ausser du verwendest ne userlib um das bild zu erzeugen, dann musst du die DLL ebenfalls mitliefern.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

pendragon

BeitragSo, Feb 24, 2008 10:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,
danke für die schnelle antwort.
es sind nur vier pöplige winzige bilder.
das zielsystem hat eine 8600 nvidia - das müsste reichen.
ansosnten wurde nur blitz+ standart installiert.

gruss

The_Nici

BeitragSo, Feb 24, 2008 11:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Update mal sicher.

Hast du auch wirklich richtige Pfade? Zur Sicherheit nimm relative. (z.B. wenn das Programm in C:/Bla/Blubb liegt und man auf ein Bild im Ordner "GFX" zugreiffen will, und der Ordner GFX sich im Blubb Ordner befindet, so verwende lieber "GFX/Bild.png" anstatt "C:/Bla/Blubb/GFX/Bild.png")
 

pendragon

BeitragMo, Feb 25, 2008 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
die bilder sind im gleichen verzeichniss wie das prg.
hier ein auszug:

;grafik laden
Global rot1bild=LoadImage ("rot1.bmp")
Global gruen1bild=LoadImage ("gruen1.bmp")
Global rot2bild=LoadImage ("rot2.bmp")
Global gruen2bild=LoadImage ("gruen2.bmp")

die rotx wird nicht geladen die gruenx schon.
und das problem habe ich nur auf dem anderen rechner.
gruss
 

Dreamora

BeitragMo, Feb 25, 2008 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
das bild ist nicht RLE encoded oder 32bit (-> 24bit bild) oder? damit würds dann probleme geben ...
wie gross ist das bild?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

pendragon

BeitragDi, Feb 26, 2008 10:56
Antworten mit Zitat
Benutzer-Profile anzeigen
das bild ist 214 byte gross(klein)
es ist ein 16bit bild.

ShadowJumper

BeitragDi, Feb 26, 2008 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
an dem Grafikspeicher kanns nich liegen (wegen B+ =) )
dann wären noch möglichkeiten:
- Grafik nicht da
- falscher Pfad angegeben (also auch Groß- und Kleinschreibung, Dateiendung)
- Datei wurde evtl. umbenannt
- du hast gerade einen Buffer geschlossen (mit LockBuffer) (da dein geposteter Code aber anscheinend auch exakt so verwendet wird, ohne was dazwischen is das unwahrscheinlich)

anderes fällt mir grad net ein...
aber es is meistens das, woran man am wenigsten denkt^^
Bilder kostenlos hosten
lest und weint:
RAM - 512 MB; GrafikRAM - 32 MB; CPU - 800 MHz
Ps: ... und weint (vor lachen)

The_Nici

BeitragDi, Feb 26, 2008 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann auch sein, dass du eine Variable bei DrawImage falsch schreibst, oder anstatt CopyImage einfach nur bild2=bild1 machst.

BladeRunner

Moderator

BeitragDi, Feb 26, 2008 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
- falscher Pfad angegeben (also auch Groß- und Kleinschreibung, Dateiendung)

Blitz interessiert sich nicht die Bohne für Groß-/kleinschreibung Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

pendragon

BeitragDo, Feb 28, 2008 10:53
Antworten mit Zitat
Benutzer-Profile anzeigen
danke für die ganzen anregungen.
bis jetzt leider noch keine lösung gefunden.

an falschen befehlen oder so kann es nicht liegen, da es ja auf dem "original" rechner läuft.
ich habe es hier dann auf eine mobile platte kopiert - und schon geht es nicht mehr. obwohl das gesamte Verzeichniss kopiert wurde.
ich verwende nur relative pfadangaben. die ja auch funktionieren.

eine echt seltsame geschichte.

gruss
 

Dreamora

BeitragDo, Feb 28, 2008 11:12
Antworten mit Zitat
Benutzer-Profile anzeigen
dann machst du sonst was falsch auf dem zielsystem.

Ausser fehlende Grafiken führen nämlich primär fehlende Userlibs zu solchen Problemen (da man dann die DLL mit dem programm mitgeben muss), ausser wir reden von imagecollision, da ist so ziemlich jede neue karte ein problem.

Ohne programm das es repliziert lässt sich da nix sagen (kannst ja ma graphics mit 32bit starten falls du das noch net machst)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
  • Zuletzt bearbeitet von Dreamora am Do, Feb 28, 2008 13:37, insgesamt einmal bearbeitet

The_Nici

BeitragDo, Feb 28, 2008 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Btw. solltest du auch nicht einfach einem BMP-Bild die Endung eines PNG-Bildes geben, Konvertierung bleibt dann nämlich gleich.

Markus2

BeitragDo, Feb 28, 2008 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach erstmal so

Global rot1bild=MyLoadImage ("rot1.bmp")

function MyLoadImage (FileName$)
bild=LoadImage (FileName$)
if bild=0 then
MessageBox zeigen
bild=createimage(32,32)
endif

return bild
end function

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, Feb 28, 2008 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
vielleicht ist das Problem viel einfacher...
der Explorer zeigt die Endungen nicht an (.png)
und du hast einfach den Namen geändert in "Rot.BMP" aber der wirkliche Name ist jetzt "rot.BMP.png"

;grafik laden
Code: [AUSKLAPPEN]
Global rot1bild=LoadImage ("rot1.bmp.png")



hatte das gleiche Problem letztens....
alternativ kannst du die Dateien ja mal mit Blitz auslesen zum testen
[BB2D | BB3D | BB+]
 

pendragon

BeitragMi, März 05, 2008 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
nochmals zum verständinis :

ich habe hier blitzplus auf rechner A.
ich habe auf diesem rechner ein prg geschrieben.
wenn ich es von lw C starte läuft es wunderbar.
kopiere ich das gesamte verzeichniss (mit grafiken) auf lw E läuft es nicht mehr mit obiger fehlermeldung.

es kann also nicht am basic, libs, grafiken oder sonstiges im umfeld liegen -
ist ja nachwievor das gleiche.
durch relative pfadangaben dürfte das laufwerk auch kein problem sein.
ich arbeite nicht mit windof explorer und lasse alle endungen anzeigen.

ich fummle an dem teil schon wochenlang rum - habe leider nicht soviel zeit.
und nie gab es diese probleme. erst jetzt wo ich das prg auf andere lw/rechner bringen will zickt es rum.

die grafiken stammen alle aus der gleichen "urgrafik" und sind alle pöplige 214 bytes gross.

hier mal ein screenshot.

user posted image

gruss
 

Dreamora

BeitragMi, März 05, 2008 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn es laufwerk abhängig crasht (in der kompilierten version) dann kann es defakto nur die pfadangabe von einer Datei sein die zur laufzeit geladen wird. welche das auch immer sein mag und wo die auch immer geladen wird.
Wenn es läuft, wenn du es aus der IDE ausführst, jedoch die kompilierte nicht läuft, dann kanns auch eine fehlende Userlib sein.

das sind die zwei möglichkeiten, etwas anderes kann es nicht sein (ausser nem sicherheitsprogramm das die ausführung verbietet)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

pendragon

BeitragDo, März 06, 2008 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
es läuft von C: aus auf dem rechner compiliert und aus der IDE.
nach E: kopiert läuft es wieder nicht. Crying or Very sad sowohl ide als auch compiliert.
ich habe im gesamten prg keine pfadangabe. nur pöpligen standart-code.

virenscanner mal abgeschalten - bringt nix.
unter vista als admin. dürfte wohl nichts blockieren.

es ist zum verzweifeln.

gruss
 

Dreamora

BeitragDo, März 06, 2008 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
pendragon hat Folgendes geschrieben:

unter vista als admin. dürfte wohl nichts blockieren.


Willkommen im Reich der Wunschträume naiver User
Admin unter Vista ist kein vollständiger Admin mehr.

1. Rechtsklick - Ausführen als Administrator
2. UAC Deaktivieren

-> dann gehen die programme meist auch wieder
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

pendragon

BeitragMo, März 10, 2008 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy jo, die vista scherze sind mir bekannt.
entsprechend ist mein vista auch eingerichtet.
zurück zum theam - das ist nicht das problem.
es läuft ja unter vista. erst beim kopieren auf ein anderes laufwerk ist ende - bzw. werden diese zwei (von vier) grafikdateien nicht geladen.
aus welchen gründen auch immer.

gruss

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group