Konvertierung von 'void *' nach 'HBITMAP__ *' nicht möglich



  • Hallo,
    habe mit folgendem Code (kompletter Code siehe https://www.c-plusplus.net/forum/12278?highlight=printimage)
    seit XE7 beim Compilieren die Fehlermeldung wie im Titel geschrieben, obwohl der Code mit vorheriger IDE fehlerfrei lief:

    // create a memory dc for the image
      HDC h_dc = image->Canvas->Handle;
      int bmp_w = image->Width,
      bmp_h = image->Height;
      HDC h_mem_dc = ::CreateCompatibleDC (h_dc);
      HBITMAP h_mem_bmp = ::CreateCompatibleBitmap (h_dc, bmp_w, bmp_h);
      HBITMAP h_old_bmp = ::SelectObject (h_mem_dc, h_mem_bmp);
    

    Hat jemand eine Idee? Danke!



  • Davor wurde wahrscheinlich 'STRICT' nicht definiert, sodass es ohne Fehler möglich war, jeden beliebigen Handletyp implizit in einen anderen zu konvertieren. SelectObject gibt ein HGDIOBJ zurück, caste das einfach in ein HBITMAP und fertig.


Log in to reply