Aktuelle Zeit: 13.12.2019 17:24

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: ImageID() gibt negativen Wert zurück
BeitragVerfasst: 22.09.2018 17:30 
Offline

Registriert: 01.04.2011 21:59
Hallo Gemeinde,

kurze Frage: wie ist der Datentype den die Funktion ImageID() zurück gibt?

Hintergrund: ich habe eine DLL gebastelt, die Image-Manipulationen durchführt. Ein Fehler in der Funktion wird als negativer Wert zurück gegeben, ansonsten soll das aufrufende Programm den Betriebsystem-Handle (ImageID()) des Images zurück bekommen.

Ich arbeite mit PB 5.62/32-Bit und habe nun schon diverse Datentypen probiert (.L, .I, .D) , aber ab und zu liefert ImageID() einfach einen negativen Wert zurück?!

Code:
EnableExplicit

Enumeration
  #img_nummer
EndEnumeration

Global i
Global img_handle.i

For i = 1 To 100
  If LoadImage(#img_nummer, "D:\test.bmp")
    img_handle = ImageID(#img_nummer)
    Debug img_handle
    FreeImage(#img_nummer)
  Else
    Debug "Fehler!"
  EndIf
Next

End

Wieso ist das so und was kann man dagegen machen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ImageID() gibt negativen Wert zurück
BeitragVerfasst: 22.09.2018 17:53 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
fabulouspaul hat geschrieben:
wie ist der Datentype den die Funktion ImageID() zurück gibt?


Ein Pointer-Typ (Denke Ich) , also 64 Bit fähig.

Als Speicherpointer sind diese negativen Werte normal.
Das einzige falsche Handle dürfte "0" (NULL) sein.

Beispiel (Benutze @ und bekomme die ID):
Code:
Bild1 = LoadImage(#PB_Any, "D:\test.bmp")
Bild2 = LoadImage(#PB_Any, "D:\test2.bmp")
img_handle1 = ImageID(Bild1)
img_handle2 = ImageID(Bild2)
Debug @img_handle1
Debug @img_handle2

_________________
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.1 / Android 7.0 ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye