printER



  • hi,
    hab n problem mit sonem tutorial, der zeigt mir imma nen Fehler bei "printER", kann mir einer weiter helfen??? man muss ne windows application machn und "winspool.lib" mitlinken 👍

    #include <windows.h>

    HDC GetprinterDC (void) ;

    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpszCmdLine, int iCmdShow)
    {
    static DOCINFO di = { sizeof (DOCINFO), TEXT ("FormFeed") } ;
    HDC hdcprint = GetprinterDC () ;

    if (hdcprint != NULL)
    {
    if (StartDoc (hdcprint, &di) > 0)
    if (StartPage (hdcprint) > 0 && EndPage (hdcprint) > 0)
    EndDoc (hdcprint) ;

    DeleteDC (hdcprint) ;
    }

    return 0 ;
    }

    HDC GetprinterDC (void)
    {
    DWORD dwNeeded, dwReturned ;
    HDC hdc ;
    printER_INFO_4 * pinfo4 ;
    printER_INFO_5 * pinfo5 ;

    if (GetVersion () & 0x80000000) // Windows 98
    {
    Enumprinters (printER_ENUM_DEFAULT, NULL, 5, NULL,
    0, &dwNeeded, &dwReturned) ;

    pinfo5 = (printER_INFO_5 *)malloc (dwNeeded) ;

    Enumprinters (printER_ENUM_DEFAULT, NULL, 5, (PBYTE) pinfo5,
    dwNeeded, &dwNeeded, &dwReturned) ;

    hdc = CreateDC (NULL, pinfo5->pprinterName, NULL, NULL) ;

    free (pinfo5) ;
    }
    else // Windows NT
    {
    Enumprinters (printER_ENUM_LOCAL, NULL, 4, NULL,
    0, &dwNeeded, &dwReturned) ;

    pinfo4 = (printER_INFO_4 *)malloc (dwNeeded) ;

    Enumprinters (printER_ENUM_LOCAL, NULL, 4, (PBYTE) pinfo4,
    dwNeeded, &dwNeeded, &dwReturned) ;

    hdc = CreateDC (NULL, pinfo4->pprinterName, NULL, NULL) ;

    free (pinfo4) ;
    }
    return hdc ;
    }



  • der zeigt immer den Fehler : "printER..." undeclared (first use the function)
    und das immer da wo was mit "printER" steht



  • Dann schreibs doch groß.



  • dann kommt ein fehler bei:

    Enumprinters (PRINTER_ENUM_DEFAULT, NULL, 5, NULL,
    0, &dwNeeded, &dwReturned) ;



  • der gleiche fehler wie davor Enumprinters undeclared...



  • Dir sollte bewusst sein, dass C/C++ eine case-sensitive Sprache ist! Somit musst Du die Namen der Funktionen genau so schreiben wie sie deklariert sind und (i.d.R.) auch in der Hilfe stehen!

    =>

    EnumPrinters



  • aha, danke! jetzt hat der aber noch eine problem 😞
    bei

    hdc = CreateDC (NULL, pinfo5->pprinterName, NULL, NULL) ;

    meint der: 'struct_PRINTER_INFO_5A'has no member named 'pprinterName'



  • ah ich habs jetzt, shit, jetzt zeigt der an : [Build Error]



  • Ich kann Dir nicht folgen...



  • also: ich hab alles jetzt soweit berichtigt, aber jetzt zeigt der mit nen [build error] !?


Anmelden zum Antworten