Error in einem MS Beispiel
-
Hallo Leute.
Ich suchte eine Funktion welche mir den Standarddrucker zurückgeben kann.
Dies fand ich auf http://support.microsoft.com/kb/246772/EN-US/
Wenn ich das aber compilieren möchte bekomme ich einen Error und weiss nicht weiter.PROC fnGetDefaultPrinter = NULL; fnGetDefaultPrinter = GetProcAddress(hWinSpool, GETDEFAULTPRINTER); bFlag = fnGetDefaultPrinter(pPrinterName, pdwBufferSize); // 'int (__stdcall *)(void)' : Zu viele Paramter uebergeben
Es wäre unheimlich nett und für mich wichtig wenn jemand mir eine Lösung des Problemes gebben könnte.
-
Wie man den CDC vom Standarddrucker kriegt, hab ich da gepostet:
http://www.c-plusplus.net/forum/viewtopic.php?t=99291
Wäre das eine Alternative? (Den Beispielcode verstehe ich leider nicht...)
-
Im Beispielcode ist einfach der Funktionspointer mit einem falschen Typ deklariert, weil das anscheinend für C geschrieben ist, und das ist da nicht so genau wie C++.
-
@Ringding
Ich bin leider nicht so der Profi. Was müsste denn wie anders aussehen?@estartu_de
Ich arbeite nur in DirectDraw....CPrintDialog dlg(FALSE); dlg.GetDefaults(); // DC anlegen HDC printDC = dlg.GetPrinterDC();
Wenn ich da die fehlende #include <afxdlgs.h> Header einbinde bekomme ich nette Fehler:
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) bereits in LIBC.lib(new.obj) definiert
nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) bereits in libcp.lib(delop.obj) definiert
nafxcw.lib(thrdcore.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __beginthreadex
-
Himmelherrgott, warum programmiert jemand in C++ so komplizierte Dinge, wenn er nichtmal die grundlegendsten Prinzipien von C verstanden hat?
So würde ich sagen:
BOOL (*fnGetDefaultPrinter)(LPTSTR, LPDWORD);