Variable weiter geben funzt nicht ??



  • Hallo Leute,

    weis jemand warum dies nicht Funktioniert:

    void CMainFrame::OnMyAddstringMessage(WPARAM wParam, LPARAM pParam) 
    {
        CTickerDialog* m_cTicker;
        char *myString = (char*)wParam; 
        std::string Text = myString;
        m_cTicker->setText(Text);
    }
    

    CTickerDialog ist von CFormView abgeleitet.

    Ich versuche ne Messages die ich aus einer Funktion bekomme in einer Splitteransicht zur ANsicht bekomme...

    Gruß
    andy_mann



  • was passiert denn?



  • Ist die Nachricht von dir definiert? Wenn ja, wozu? Warum rufst du die Methode nicht direkt auf? Falls es Variationen der Impementierung geben soll, definiert man normalerweise eine abstrakte Klasse.



  • Hallo,

    andy_mann schrieb:

    weis jemand warum dies nicht Funktioniert:

    zumindest kann man sagen, daß das so nie funktionieren kann, weil du froh sein mußt, daß die Anwendung nicht abstürzt. Du verwendest für setText einen uninitialisierten Zeiger:

    CTickerDialog* m_cTicker; // welches CTickerDialog-Objekt??
    

    du mußt schon auf eine vorhandene View zugreifen, wie du das hier machst, hängt von der Struktur deiner Anwendung ab. Ein CSplitterWnd besitzt z.B. die Methode GetPane, mit der man auf die Views (du hast ja geschrieben, daß CTickerDialog von CFormView abgeleitet ist, trotz des unpassenden Namens CTickerDialog) in den Splitter-Teilfenstern zugreifen kann.

    MfG



  • Ich danke euch,

    ja genau, er stürtzt ab.
    Das ist noch mein Problem, das ich momentan noch nicht genau weiß wie man mit diesen Pointern umgeht.

    Gibts dazu vielleicht ein kleines Beispiel ??

    Vielen Dank
    Gruß
    andy_mann



  • genügt dir mein Hinweis mit GetPane noch nicht? Du brauchst ein gültiges Objekt, es gibt aber nur ein gültiges CTickerDialog-Objekt, nämlich das, das gerade in einer Pane des CSplitterWnd angezeigt wird. Mit der oben genannten Methode würde man genau dieses Objekt bekommen (es geht sicher auch anders, aber da kommt es auf die Struktur der Anwendung an, hat man Member-Variablen für die Objekte, usw....)

    MfG


Anmelden zum Antworten