Eigenes Control erstellen..



  • Hallo,

    ich bin gerade dabei ein eigenes Control zu erstellen, habe dabei aber ein kleines Problem und weiß nicht mehr weiter 🙂

    Im Prinzip funktioniert das ganze schon. Jedoch bekomme ich wenn ich im Debug-Mode bin jedesmal beim beenden meines Dialogs eine unbehandelte Ausnahme und ich weiss nicht mehr wieso. Dabei isses bisher noch ganz einfach..

    Ich habe erstmal eine Klasse (CDiagramm) von CWnd abgeleitet und folgende Methode angelegt / überschrieben.

    void CDiagramm::Create(const RECT &rect, CWnd *pParentWnd)
    {
    	for(int i=0; i<30; i++)
    		m_Wert[i] = 0;
    
    	CWnd::Create(NULL, "CDiagramm", WS_VISIBLE, rect, pParentWnd, 11);
    }
    

    Dazu hab ich dann noch die OnPaint-Methode neu geschrieben um halt in dem angegeben rect nen Diagramm zu zeichen (was auch funzt). Das hat mit dem Fehler aber nix zu tun, da ich diese Momentan auskommentiert habe und der Fehler immernoch da ist 🙂

    Dann hab ich im richtigen Dialog eine Membervariable vom Typ CDiagramm angelegt und in der OnInitDialog folgendermaßen benutzt:

    CRect rect;
    	GetClientRect(&rect);
    	rect.bottom = rect.bottom/2;
    	rect.right = rect.right/2;
    
    	m_Diagramm.Create(rect, this);
    

    Das Ganze funktioniert wie gesagt wunderbar, nur habe ich dann beim beenden des Dialogs eine "unbehandelte Ausnahme", im Release kommt keine Meldung. Wo muss ich jetzt noch eine Ausnahme fangen???

    ich hoffe es weiss wer weiter..

    mfg
    tobi



  • versuche es mal ohne die Variable m_Wert



  • Ahhhhhhhhhh... danke..

    das wollte ich eigentlich gar nicht mit kopieren, das ist eigentlich nur die Schleife die das gesamte Array für die darzustellenden Werte auf 0 setzt.

    Aber daran liegt's !!!

    versteh ich aber nun trotzdem nicht..

    Deklaration:

    int m_Wert[20];
    

    Hö?!? Da wird aber eigentlich gar nicht mehr drauf zugegriffen, nur in OnInitDialog und in der OnPaint (und die ist auskommentiert)

    Müsste doch da funktionieren..



  • Du überschreitest die Array-Grenze.



  • och nööööööööööö...

    das isses.. wie blöde kann man eigentlich sein. Ich sehe schon
    den Wald vor lauter Bäumen nicht mehr. Ich habe sonstewo gesucht.
    und dabei isses son dämlicher Fehler..

    Naja ich mach jetzt wohl mal besser schnell feierabend *gg*

    dangee.. und sry, das hätte mir selber auffallen müssen..


Anmelden zum Antworten