Search Results

Search found 2 results on 1 pages for 'kleas'.

Page 1/1 | 1 

  • C++ Printing: Printer jams, what am I doing wrong?

    - by Kleas
    I have a problem with printing in C++. As far as I know, this code used to work on my previous printer, but ever since I got another one (an HP C7280) it started giving problems. Whenever I try to print anything, even an empty page, the page JAMS the printer. I have to manualy remove the page from the printer. I have no clue why this is happening. Am I doing something wrong, is it a driver problem, are there better ways to print in C++? I am using Windows 7 64 bit, but this problem also presented itself when I was using Windows Vista 64 bit. I use the following code: PRINTDLG pd; ZeroMemory(&pd, sizeof(pd)); pd.lStructSize = sizeof(pd); pd.hwndOwner = mainWindow; pd.hDevMode = NULL; pd.hDevNames = NULL; pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; pd.nCopies = 1; pd.nMinPage = 1; pd.nMaxPage = 0xFFFF; if (PrintDlg(&pd)==TRUE) { DOCINFO di; di.cbSize = sizeof(DOCINFO); di.lpszDocName = "Rumitec en Roblaco Print"; di.lpszOutput = (LPTSTR)NULL; di.fwType = 0; // Start printing StartDoc(pd.hDC, &di); StartPage(pd.hDC); initPrinter(pd.hDC); // ... // Do some drawing // ... // End printing EndPage(pd.hDC); EndDoc(pd.hDC); DeleteDC(pd.hDC); } Am I doing something wrong? Alternatively, is there a better, easier, more modern way to do it?

    Read the article

  • C++: Weird Segmentation fault.

    - by Kleas
    I am trying to print something using C++. However, I am running into a strange bug that has left me clueless, I use the following code: PRINTDLG pd; ZeroMemory(&pd, sizeof(pd)); pd.lStructSize = sizeof(pd); pd.Flags = PD_RETURNDEFAULT; PrintDlg(&pd); // Set landscape DEVMODE* pDevMode = (DEVMODE*)GlobalLock(pd.hDevMode); pDevMode->dmOrientation = DMORIENT_LANDSCAPE; pd.hwndOwner = mainWindow; pd.Flags = PD_RETURNDC | PD_NOSELECTION; GlobalUnlock(pd.hDevMode); if (PrintDlg(&pd)) { DOCINFO di; di.cbSize = sizeof(DOCINFO); di.lpszDocName = "Test Print"; di.lpszOutput = (LPTSTR)NULL; di.fwType = 0; //start printing StartDoc(pd.hDC, &di); int a; int b; int c; int d; int e; int f; // int g; // Uncomment this -> CRASH EndDoc(pd.hDC); DeleteDC(pd.hDC); } else { cout << "Did not print: " << CommDlgExtendedError() << endl; } The moment I uncomment 'int g;' I get a: "Program received signal SIGSEGV, Segmentation fault." I use codeblocks and the mingw compiler, both up to date. What could be causing this?

    Read the article

1