this-Operator übergeben klappt nicht



  • es müßte ja so einfach sein, aber ich kriegs nicht hin!

    ich will versuchen den "this"-Operator einer Funktion zu übergeben und habe dazu folgendes gemacht:
    - brandneues dialogbasierendes Projekt
    - neue ALLGEMEINE Klasse hinzugefügt
    - in der neuen Klasse habe ich "#include "TestDlg.h" eigetragen
    - und dann habe ich versucht eine Memberfunktion wie folgt zu dekl.:
    bool Methode(CTestDlg* td);

    Mehr nicht! Und es erscheint die Fehlermeldung:
    c:\test\testdlg.h(22) : error C2065: 'IDD_TEST_DIALOG' : nichtdeklarierter Bezeichner
    c:\test\testdlg.h(22) : error C2057: Konstanter Ausdruck erwartet

    Was mache ich verkehrt bei dem Versuch, den this-Operator über das Dialogobjekt zu übergeben??

    Bitte hellffft miiihhhr



  • Bis du sicher das die Fehlermeldungen mit deinem Problem zusammanhängen? *g*
    Mach folgendes:
    Öffne die TestDlg.h. Dort findest du eine Zeile die ca. so aussieht:
    enum { IDD = IDD_TEST_DIALOG };

    Sollte da IDD_TEST_DIALOG drin stehen, öffne deinen Dialog im Resouceditor und sieh nach wie seine ID ist. Sollte er nicht IDD_TEST_DIALOG heissen hast du dein Problem 😉



  • Danke für die schnelle Antwort, aber daran liegts nicht.

    Es liegt nur daran:

    #include "testDlg.h"

    Wenn ich die Zeile inaktiviere, dann ist wieder alles ok. Aber wenn sie aktiv stehenbleibt, kommt die besagte Fehlermeldung.

    Da ist irgend ein logischer Fehler versteckt !?! irgendwo ...



  • ich habe folgendes gemacht:
    - anstatt eine allgemeine Klasse anzulegen, habe ich eine MFC-Klasse CStatic verwendet
    - alles nicht brauchbare aus der Klasse herausgeschnipselt
    - und es funktioniert!!

    Jetzt muß ich es nur noch verstehen !!!

    Wie gesagt, es geht nur um den "#include "testDlg.h" in einer neu erstellten Klasse...



  • öhmm... wo steht denn dein #include "testDlg.h" ? Vor oder nach "test.h" (App-Classe)
    Falls es davor ist, verschiebs mal runter.... 😃 :p
    Erlärung:
    In der test.h gibts ein #include "resource.h". Also woher soll er die ID deines Dialogs kennen, wenn das erst danach kommt.... 😉



  • B I N G O ! !

    ich glaube etwa zeitgleich haben wir das Problem gefunden:

    Beim Vergleichen der beiden Klassen hat nur das #include "test.h" gefehlt !!!!

    Danke für die Erklärung dazu !!!


Anmelden zum Antworten