Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 242949 (4385)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Problem beim löschen eines Bitmaphandles
Philipp Sternberg
| Datum:26.05.02 22:17 (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