Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 241116 (2552)
  Suchen
 Zurück zur Übersicht
 AutorThema: Problem beim löschen eines Bitmaphandles
Philipp Sternberg
Datum:26.05.02 22:17 Antwortenals Email verschicken (ps@burghardt-ib.de) 


Hallo ich hab unter Windows Xp folgendes Problem:
Ich erzeuge ein BitmapHandle mit Hilfe der Apifunktion LoadImage. Soweit so gut. Am Ende will ich als ordentlicher Mensch natürlich aufräumen und das Handle mit Hilfe der Api-Gdi-Funktion DeleteObject() wieder zerstören. Zum Erfolg bzw. Misserfolg der Funktion steht im MSDN folgendes:
Return Values
If the function succeeds, the return value is nonzero.

Windows NT/2000/XP: To get extended error information, call GetLastError.


Jedesmal wenn ich die Funktion durchführe bekomme ich 0 zurück also Misserfolg. Wenn ich dann GetLastError aufrufe komt auch 0 also ERROR_SUCCESS, The operation completed successfully.
Ist das Ding nun in die Hose gegangen oder nicht ???
Gibt es irgendne Möglichkeit herauszufinden wieviel Speicher nach Beenden des Profanproramms noch blcokiert ist ??

proc LoadImageEx
parameters res_instance&,img_name$,ident%,uType&,cx%,cy%,fuLoad&
declare h_image&
if @and(@neq(res_instance&,0),@equ$(img_name$,""))     'Es handelt sich um ein Image aus dll Per Identifier
 let h_image& = @LoadImage (res_instance&,ident%,uType&,cx%,cy%,fuLoad&)
elseif @and(@neq(res_instance&,0),@neq$(img_name$,"")) 'Es handelt sich um ein Image aus dll per Namen
 let h_image& = @LoadImage (res_instance&,@AddR(img_name$),uType&,cx%,cy%,fuLoad&)
elseif @and(@equ(res_instance&,0),@neq$(img_name$,"")) 'Es handelt sich um ein Image direkt von der Platte
 let h_image& = @LoadImage (res_instance&,@AddR(img_name$),uType&,cx%,cy%,fuLoad&)
elseif @and(@equ(res_instance&,0),@equ$(img_name$,"")) 'Es handlet sich um ein Standard Image
 let h_image& = @LoadImage (res_instance&,ident%,uType&,cx%,cy%,fuLoad&)
endif
return h_image&
endproc

'Hauptprogramm

LoadImageEx 0,"verlauf.bmp",0,~IMAGE_BITMAP,0,0,~LR_LOADFROMFILE
Print "Handle:",@&(0)
Print "Zerstöre:",@DeleteObject(@&(0)),"Error ist:",@GetLastError()
waitkey



 Zurück zur Übersicht