Veröffentlicht 18. August 200223 j Hallo, Ich habe im einen MFC Arbeitsbereich zwei Projekte einen SDI-Fenster und eine Dialog-Anwendung. Jetzt will ich von einem Projekt (SDI-Fenster) auf anderer (Dialog-Anwendung) zugreifen, genauer gesagt diesen Dialog-Anwendung von SDI-Fenster durch ein Menübefehl abzurufen und zwar so: void CSpoldzielniaView::OnAddressbook() { // TODO: Code für Befehlsbehandlungsroutine hier einfügen // CAddressBookDlg Klasse von Dialog-Anwendung CAddressBookDlg* pAdd; pAdd->DoModal(); } kommt aber Fehler: error C2065: 'CAddressBookDlg' : Nichtdeklarierter Bezeichner error C2065: 'pAdd' : nichtdeklarierter Bezeichner warning C4552: '*' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet error C2227: Der linke Teil von '->DoModal' muss auf Klasse/Struktur/Union zeigen Vielen Dank
18. August 200223 j Sind die Header richtig included? Du hast ja nur einen uninitialisierten Zeiger, wo ist das Objekt? Da mußt Du schon wenigstens ein NEW machen damit das funktioniert. Oder mach´s lieber so: CAddressBookDlg pAdd; pAdd.DoModal();
19. August 200223 j Ein #include "AddressBookDlg.h" ist auch notwendig, eventuell mit angepasstem Pfad.
19. August 200223 j Autor Original geschrieben von Crush Sind die Header richtig included? Du hast ja nur einen uninitialisierten Zeiger, wo ist das Objekt? Da mußt Du schon wenigstens ein NEW machen damit das funktioniert. Oder mach´s lieber so: CAddressBookDlg pAdd; pAdd.DoModal(); ne hat leider auch nicht geklapt auch NEW funk nicht ;-)
19. August 200223 j Autor Original geschrieben von Klotzkopp Ein #include "AddressBookDlg.h" ist auch notwendig, eventuell mit angepasstem Pfad. #include "AddressBookDlg.h" ja ist auch klar funk aber auch nicht, was meinst Du unter " mit angepasstem Pfad " ??
19. August 200223 j Original geschrieben von 007ski funk aber auch nicht,Bitte verrat uns doch die Fehlermeldung was meinst Du unter " mit angepasstem Pfad " ?? Wenn die Include-Datei und die Datei, in der das #include steht, nicht im selben Verzeichnis sind, kann der Präprozessor sie nicht finden. Dann muss man entweder in den Projekteinstellungen die Include-Pfade ändern, oder eben einfach beim #include einen Pfad angeben. Beispiel: #include "C:/Source/AddressBook/AddressBookDlg.h"
20. August 200223 j Autor Original geschrieben von Klotzkopp Bitte verrat uns doch die Fehlermeldung SEHE OBEN Wenn die Include-Datei und die Datei, in der das #include steht, nicht im selben Verzeichnis sind, kann der Präprozessor sie nicht finden. Dann muss man entweder in den Projekteinstellungen die Include-Pfade ändern, oder eben einfach beim #include einen Pfad angeben. Beispiel: #include "C:/Source/AddressBook/AddressBookDlg.h" ES KANN DASS SEIN :marine
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.