Seite 1 von 2

The specified #Image is not initialized.

Verfasst: 31.08.2009 11:13
von NicTheQuick

Code: Alles auswählen

Img_Output = CreateImage(#PB_Any, Width, Height)

If Img_Output = 0 : End : EndIf

Gad_Output = ImageGadget(#PB_Any, 0, 0, Width, Height, ImageID(Img_Output))
Wie kann der oben genannte Fehler hier in der dritten Zeile auftreten? Müsste vorher nicht
schon das If den Fehler abfangen?

Komischerweise funktioniert es manchmal und manchmal wiederum nicht.

Ich arbeite mit PB4.40 Beta 2 unter Ubuntu 9.04 x64.

Verfasst: 31.08.2009 11:50
von iostream
Habe das auch schon manchmal auf Linux gehabt.
Probier mal IsImage(#Image).

Verfasst: 31.08.2009 12:14
von NicTheQuick
Danke, das scheint sogar bisher zu klappen.

Verfasst: 31.08.2009 16:26
von edel
Alternativ kannste auch Peeki nehmen. Da das Handle immer auf den ersten 4/8 bytes liegt.

Verfasst: 31.08.2009 16:28
von HeX0R
Das kann doch aber nicht normal sein, oder?

Verfasst: 31.08.2009 16:33
von DarkDragon
HeX0R hat geschrieben:Das kann doch aber nicht normal sein, oder?
Nein, glaub ich auch nicht. Das mit dem PeekI ist nicht empfehlenswert, zumindest nicht wenn man es später nicht eventuell wieder ersetzen will. Auch IsImage ist eher nicht dafür gedacht.

Verfasst: 31.08.2009 16:46
von NicTheQuick
Wozu sollte 'IsImage()' sonst gedacht sein als zum Überprüfen der Existenz eines Images.

Verfasst: 31.08.2009 16:52
von DarkDragon
NicTheQuick hat geschrieben:Wozu sollte 'IsImage()' sonst gedacht sein als zum Überprüfen der Existenz eines Images.
Na dazu schon, aber du hast ja ImageID mit IsImage ersetzt oder nicht? Das würde ja eben den eigentlichen Zweck verfehlen.

Verfasst: 31.08.2009 16:54
von NicTheQuick
Achso, nein.

Ich hab es so gemacht:

Code: Alles auswählen

Img_Output = CreateImage(#PB_Any, Width, Height)

If IsImage(Img_Output) = #False : End : EndIf

Gad_Output = ImageGadget(#PB_Any, 0, 0, Width, Height, ImageID(Img_Output))

Verfasst: 31.08.2009 17:03
von DarkDragon
Oha, dann ist daran aber schon weniger faul. :wink: Denn es wird ja nicht spezifiziert was CreateImage zurückgibt, wenns fehlschlägt. Obwohl ich mir vorstellen kann, dass einfach das was im EAX drinsteht zurückgegeben wird.