QPrinter::setup()

Peter Kuemmel kuemmel at yahoo.de
Tue Oct 19 12:24:59 CEST 2004


Simon Rutishauser wrote:

>Just two hours after writing the first post I found the solution. It is 
>quite weird nevertheless. devmode->dmDeviceName has to be initialized or 
>the other settings in devmode won't be used.
>
>I do the initialization via
>   qt_strncpy(devmode->dmDeviceName, QString("").ucs2(), 32);
>because the other ways I tried to do this it did not work at all. Can 
>someone tell me how I can correctly initialize devmode->dmDeviceName 
>which is a WCHAR[32] or unsigned short [32] array without using this 
>ugly and stupid method?
>  
>
Hello Simon,
you could try following::

ZeroMemory(devmode->dmDeviceName, 32 * sizeof( TCHAR ) );
or
memset( evmode->dmDeviceName, 0, 32 * sizeof( TCHAR ) );

(TCHAR is controlled by the UNICODE macro)
But is it really more elegant?

Maybe you should use  the marco CCHDEVICENAME instead of  32,
because dmDeviceName is declared as (WinGDI.h):
...   dmDeviceName[CCHDEVICENAME];

Regards,
Peter


More information about the kde-cygwin mailing list