nicht aufgelöstes externes Symbol?
-
Hallo,
ich habe in CMainFrame.h eine Funktion deklariert.
HDC CreateHandleForPrinter( WCHAR* printerName );
und in CMainFrame.cpp entsprechend implementiert.
in einer anderen Funktion rufe ich diese Funktion mit
if(m_hDC=CreateHandleForPrinter(szPrinter)) { }
auf.
Der Code compiliert problemlos, leider meckert der Linker1>MainFrm.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: struct HDC__ * __thiscall CMainFrame::CreateHandleForPrinter(wchar_t *)" (?CreateHandleForPrinter@CMainFrame@@QAEPAUHDC__@@PA_W@Z)".
Leider sagt mir die Fehlermeldung überhaupt nicht, warum die Funktion nicht gefunden wird. Selbst wenn ich die Funktion zum Test
HDC CreateHandleForPrinter()
compiliere, will der Linker nicht.
Wo liegt derFehler?Danke
Wilfried
-
Welch blöder Fehler
Code aus einem Snippet copiert und "CMainFrame::" vor der Funktionsimplementierung vergessen.Wilfried
-
Dann würde ch mich fragen warum diese Funktion überhaupt eine Memberfunktion von CMainFrame ist, wenn diese Funktion gar keine Elemente aus CMainFrame benötigt...
-
Na ja,
sonst habe ich die Druckroutinen in CView. Da ich hier aber eine ListView habe und CMainFrame die Kommandos von den Buttons verarbeitet, hab ich es eben in die CMainFrame verlegt...Mfg
Wilfried
-
Und warum sollten die Commands für die Buttons für die Bedienung eines Views in den CMainFrame?
-
Jeder hat eben seine Vorlieben
.
Ich lege z.B alle Kommando-Behandlungs-Funktionen in die CMainFrame, das ist so meine zentrale Schaltstelle. Und hier habe ich nichts in der View gesteuert, die Druckroutinen haben mit der ListView in diesem Fall nichts zu tun, sondern ich drucke über StartDoc - EndDoc. Und man kann natürlich darüber streiten, wo man das macht - hier greift eben meine VorliebeMfg
Wilfried