Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Methoden wechselseitig zwichen Klassen aufrufen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.07.2005, 11:37 Uhr
GuenniAtWork



Hi,

Ich habe zwei Klassen, die gegenseitig Metoden der anderen Klasse aufrufen sollen.

Eine Klasse gehört zu einem ListView meiner SDI-Anendung und die Andere zu einem Dialogfenster, in dem man die Wete aus dem ListView ändern können soll.

Werte vom ListView auf die Steuerelemente des Dialogfeldes zu übertragen funktioniert, aber vom Dialogfeld zum ListView ist mir ein Rätzel.

Habe die Header der Klassen in der jeweils anderen Klasse includiert, was aber scheinbar nicht funktioniert. (Wow n Reim )


C++:
//in ListView.cpp
#include "ListView.h"
#include "Dialog.h"



C++:
//in Dialog.cpp
#include "Dialog.h"
#include "ListView.h"



Die ListView-Klasse hat Methoden um Daten an den Dialog zu senden und die Dialog-Klasse soll Methoden beinhalten, die Daten an ListView senden.
Zweiteres geht noch nicht.
Wie muss ich vorgehen um das zu realisieren?
--
Gruß GuenniAtWork
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.07.2005, 14:14 Uhr
GuenniAtWork



Maln bischen Code:

C++:
//CToDoView (ListView)
#include "To-DoView.h"
#include "EntryEditDlg.h"
...
//Aufruf des Dialogfeldes
//*** Kontextmenü-Handler
//*** Neu
void CToDoView::OnKontextneu()
{
    //*** Dialogvariable anlegen
    CEntryEditDlg EntryEditDlg;
    //*** EntryEditDlg modal anzeigen
    EntryEditDlg.DoModal();
}




C++:
//CEntryEditDlg (Dialogfeld)
#include "EntryEditDlg.h"
#include "To-DoView.h"
...
//Aufruf der Methode aus CToDoView-Klasse um Daten zu Übertragen
//*** Schlatfläche Übernehmen
void CEntryEditDlg::OnBnClickedBnapplyentryedit()
{
    //*** Daten Übernehmen
    //*** Dialogwerte auf ListCtrl übertragen
    CToDoView* m_pToDoView = new CToDoView();
    m_pToDoView->InsertEntryStruct(GetDlgValues());
}



Der Kompiler gibt mir dan folgende Fehlermeldung aus:


Zitat:

error C2143: Syntaxfehler: Es fehlt ';' vor '*'
error C2501: 'CToDoView::CToDoDoc': Fehlende Speicherklasse oder Typspezifizierer
error C2501: 'CToDoView::GetDocument': Fehlende Speicherklasse oder Typspezifizierer



Der Kompieler verweißt auf diese Codezeile in der To-DoView.h

C++:
// To-DoView.h : Schnittstelle der Klasse CToDoView
//

//*** Eigene Header
#include "Global.h"

#pragma once


class CToDoView : public CListView
{
protected: // Nur aus Serialisierung erstellen
    DECLARE_DYNCREATE(CToDoView)

// Attribute
public:
    CToDoDoc* GetDocument() const;      <- Es ist die Da!!!

// Operationen
public:
...



Den Fehler bekomme ich erst seit ich To-DoView.h in EntryEditDlg.cpp includiert habe.
--
Gruß GuenniAtWork
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.07.2005, 15:49 Uhr
GuenniAtWork



Geht jetzt!

Hab noch ein #include "To-DoDoc.h" in To-DoView.h eingefügt.

Na also geht doch!

Toller Monolog
--
Gruß GuenniAtWork
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.07.2005, 15:54 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


passiert mir auch ab und zu
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: