Probleme beim instanzieren eines Objektes in der mainFrame



  • Hi Leute,

    per Suche habe ich leider nichts bisher gefunden das meinem Problem weiter hilft.
    Es dreht sich um ein SDI.
    Und zwar habe ich mir eine Klasse geschrieben mit verschiedenen Funktionen.

    In meinem Mainframe habe ich also nun mehrere Buttons die verschiednen Funktionen einer Instanz dieser Klasse aufrufen sollen.

    Also habe ich mir in meiner MainFrm.h Datei ein Objekt ins leben gerufen.
    Es dreht sich hier um die m_cameraControl

    Hier die MainFrm.h
    
    public:
    	afx_msg void OnBearbeitenEinzelbil();
    	CSplitterWnd m_wndSplitter;
    	CameraApp m_cameraControl;
    
    Hier MainFrm.cpp
    
    void CMainFrame::OnBearbeitenEinzelbil()
    {
    
    	CWnd *topForm = m_wndSplitter.GetPane(0,0);
    
    	m_cameraControl.GetSinglePicture(topForm);
    }
    

    Nur kann ich das ganze nicht compilieren.
    Folgende Fehler:

    Error 1 error C2146: syntax error : missing ';' before identifier 'm_cameraControl' c:\users\marcel\documents\visual studio 2010\projects\noll_lichtschnitt\noll_lichtschnitt\mainfrm.h 55 1 Noll_Lichtschnitt

    Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\marcel\documents\visual studio 2010\projects\noll_lichtschnitt\noll_lichtschnitt\mainfrm.h 55 1 Noll_Lichtschnitt

    Wäre super wenn mir da jemand helfen könnte.
    Das witzige ist. Zu Beginn ging es und dann auf einmal nicht mehr.
    In anderen Views läuft die Klasse einwandfrei genauso wie ich es gemacht hatte.



  • Hast du in der "MainFrm.h" denn auch die Header-Datei für "CameraApp" eingebunden?

    #include "CameraApp.h" // oder wie auch immer die Header-Datei heißt
    


  • Ja habe ich.
    Anfangs hatte ich sie in der .h und .cpp Datei habe sie dann aus der cpp Datei rausgeschmissen.

    Dann ging es zuerst hab dann nichts weiter gemacht als gespeichert und beendet.
    Dann noch einmal geöffnet und dann ging es nicht mehr.
    War sehr merkwürdig.

    Was ich bisher herausgefunden habe. In jeder View und Dialogen funktioniert es genauso wie ich es gemacht habe.

    Die cameraApp.h in die .h Datei der jeweiligen View bzw. Dialog und dann dort instanziert.

    Und kann sie in jeder Funktion nutzen ohne das der Compiler meckert.

    Habe jetzt aber mal was davon gelesen. Das mehrfach #includes Probleme machen können. Habe aber die cameraApp.h nur in der MainFrm.h drin.



  • Evtl. hast du irgendwo einen Cross-Include (d.h. zwei Headerdateien binden sich - evtl. auch indirekt - gegenseitig ein)?



  • Genau das war es.

    Hatte in der CameraApp.h die MainFrm.h includiert.

    Das war der Crossinlcude. Darauf muss man erst mal kommen.

    Vielen Dank die Hilfe


Anmelden zum Antworten