[gelöst]kein Standarddrucker in XP

Alles rund um die Programmierung mit Qt
Antworten
Codiac
Beiträge: 21
Registriert: 23. Mai 2013 11:00

[gelöst]kein Standarddrucker in XP

Beitrag von Codiac »

Hallo zusammen,

ich versuche beim Start meiner Anwendung den Windows-Standarddrucker zu ermitteln:

Code: Alles auswählen

    QPrinter *ptrPrinter; //Zeiger auf Standarddrucker
    QPrinterInfo prInfo;
                                                                                                 
    if(prInfo.defaultPrinter().isNull())
    {
        if(prInfo.availablePrinters().count())
        {
            ptrPrinter = new QPrinter(prInfo.availablePrinters().at(0));
        }
        else
        {
            ptrPrinter = new QPrinter(QPrinter::HighResolution);
        }
    }
    else
    {
        ptrPrinter =  new QPrinter(prInfo.defaultPrinter());
    }

    ptrPrinter->setPageSize(QPrinter::A4);
    ptrPrinter->setResolution(600);
    ptrPrinter->setOrientation(QPrinter::Portrait);
    ptrPrinter->setFullPage(true);

    QMessageBox::information(this,"StdDrucker:",ptrPrinter->printerName());
Läuft die Exe auf XP, bekomme ich einen leeren Druckernamen angezeigt und der Drucker-Einstellungsdialog...

Code: Alles auswählen

    QPrintDialog pd(ptrPrinter,this);
    pd.exec();
...wird gar nicht geöffnet. Auf Win7 klappt alles wie gewollt.
Das Verhalten habe ich auf mehreren Rechnern beobachten können, und natürlich ist auf jedem PC ein Standarddrucker eingerichtet.

Die Entwicklung mache ich mit Qt5.1.1 und mingGW48_32 auf einem Win7@64bit.
Hat Jemand eine Lösung?

Danke,
Marcel
Codiac
Beiträge: 21
Registriert: 23. Mai 2013 11:00

Re: [gelöst]kein Standarddrucker in XP

Beitrag von Codiac »

Anwerkung:
Problem beseitigt - im App-Verzeichnis muss ein Ordner "printsupport" mit den Dateien "windowsprintersupport.dll" und "windowsprintersupportd.dll" existieren.
Ich hatte nur die erste Datei (ohne "d") dorthin kopiert, was zum beschriebenen Fehler führte.
Antworten