Exception bei gdi+ dll



  • Hallo, ich hab ein Problem mit GDI+. Nachdem ich GDI+ schon in einem anderen Projekt verwendet habe dachte ich mir das kann ja kein Problem sein das gleiche nochmal zu machen, denkste. Zu meinem Problem: Ich hab eine .lib und eine .dll in meinem Projektordner und das ganze eingebunden. Der Code den ich verwende ist aus dem vorigen Projekt, sollte also funktionieren. Ich vermute, dass ich irgendeine Einstellung vergessen habe. Der Fehler tritt bei der Funktion GetImageEncodersSize auf, die wiederum in der Datei GdiplusImageCodec.h das unten stehende Kommando aufruft. Was ist hier das Problem, habe ich eine falsche Dll? Ach ja, das ganze wirft eine access violation exception in der datei ntdll.dll aus.

    ...
       using namespace Gdiplus;
    
       UINT  num = 0;          // number of image encoders
       UINT  size = 0;         // size of the image encoder array in bytes
    
       ImageCodecInfo* pImageCodecInfo = NULL;
    
       GetImageEncodersSize(&num, &size);
    ...
    
    // Aufruf in der Datei GdiplusImageCodec.h
    inline Status 
    GetImageEncodersSize(
        OUT UINT *numEncoders, 
        OUT UINT *size)
    {
        return DllExports::GdipGetImageEncodersSize(numEncoders, size);
    }
    


  • das problem hat sich erledigt, ich hab vergessen GDI+ zu initialisieren mit

    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
    

Anmelden zum Antworten