Über 131 Fehler :(((((



  • Hallo
    Ich gehöre noch zielich zu den Nubies, ich wollte probiere auf Grundlage des Buches "VIsaul C++ in 21 Tagen" ein Zeichenprogramm auf Basis von SDI zu schreibe...

    Allerdings ist das mi r anschienend net wirklich gelungen..
    Die meisten Fehler kann ich leider nicht mal berichtigen, z.B allei n hier emldet er über 20 Fehler:

    CLine* CSDIDoc::AddLine(CPoint ptFrom, CPoint ptTo)
    {
    	CLine *pLine = new CLine(ptFrom, ptTo);
    
    	try
    	{
    		m_oaLines.Add(pLine);
    		SetModifiedFlag();
    	}
    	catch (CMemoryException* prr)
    	{
    		AfxMessageBox(" Zu wenig Speicherplazu",MB_OK, 0);
    	}
    
    	if(pLine)
    	{
    		Delete pLine;
    		pLine = NULL;
    	}
    
    	if(prr)	
    		prr ->Delete();
    
    	return pLine;
    
    }
    

    fast alle dass ein ; fehlt aber ich versteh wirklich net warum :((

    so wollte ich frage ob einer von euch schlauen da draußen sich das Projekt schnell angucken könnte



  • hallo Leute
    so ich hab den dummen fehler gefundenl und so sind die ganzen fehler weg
    allerdings hab ich jetzt das prob, dass der kompiler zwar weder fehler nochwarnungen anzeigt, aber das prog beim ersten mausklick abkackt 😞



  • Zeig doch mal den Code der ausgelöst wird bei dem Maus-Event.



  • void CSDIView::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    	// TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen und/oder Standard aufrufen
    	SetCapture();
    	m_ptPrevPos = point;
    
    	CView::OnLButtonDown(nFlags, point);
    }
    
    void CSDIView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    	// TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen und/oder Standard aufrufen
    	if ((nFlags & MK_LBUTTON) == MK_LBUTTON)
    	{
    		CClientDC dc(this);
    		CLine *pLine = GetDocument() ->AddLine(m_ptPrevPos, point);
    		pLine->Draw(&dc);
    
    		m_ptPrevPos = point;
    	}
    
    	CView::OnMouseMove(nFlags, point);
    }
    
    void CSDIView::OnLButtonUp(UINT nFlags, CPoint point) 
    {
    	// TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen und/oder Standard aufrufen
    	if (GetCapture() == this)
    		ReleaseCapture();
    
    	CView::OnLButtonUp(nFlags, point);
    }
    


  • Okay ich kenn das Buch und das Beispiel auch.

    Für alle anderen, schaut mal unter

    http://www.mut.de/media_remote/buecher/VCPLUS6/data/kap10.htm

    Vergleich am besten nochmal den Code mit dem Beispiel aus dem Buch.

    Du musst z.B. bei der try...catch Anweisung die if-Bedingung mit ins 'catch' reinnehmen. Vielleicht hast du ja noch andere solche Fehler drin.

    Gruß



  • Hallo
    Mittlerweile hab ich es zum lAufen gebracht, aber ich irgendwie das Prob bei der Serialisierung
    un dzwar meckert de Compiler dass kein eigener Standard Konstruktor verfügbar ist, hab aber irgendwie den fehler net entdeckt
    vielleicht wisst ihr woran es hängt..

    Line.h:

    class CLine : public CObject  
    {
    	DECLARE_SERIAL (CLine)
    	public:
    	CLine(CPoint pFrom,CPoint pTo);
    	void Serialize(CArchive& ar);
    	void Draw(CDC *pDC);
    
    	virtual ~CLine();
    
    	private:
    	CPoint m_ptTo;
    	CPoint m_ptFrom;
    };
    

    Line.cpp

    IMPLEMENT_SERIAL (CLine, CObject, 1)
    
    CLine::CLine(CPoint mtFrom, CPoint mtTo)
    {
    
    	m_ptFrom = mtFrom;
    	m_ptTo = mtTo;
    
    }
    

    danke im voraus


Anmelden zum Antworten