Frage zu Class



  • Hallo Leute,

    was mache ich falsch ?
    Ich habe eine SDI Anwendung. Den View habe ich in der CMainFrame in 2 Fenster gesplittet.

    So nun hole ich mir den Pointer und setze den Wert in einer Seperaten Class (CPointer).

    CTickerDialog* m_pTickerDialog     = (CTickerDialog*)   m_wndSplitter.GetPane(1,0);
    m_cPointer.setTickerDialog(m_pTickerDialog);
    

    Im Debug steht auch ein Wert drin.
    Jetzt möchte ich diesen Pointer in einer Funktion in einer Eigenständigen Class setzen um auf das Fenster zu zu greiffen.

    CTickerDialog* m_pTickerDialog = (CTickerDialog*) m_cPointer.getTickerDialog();
    m_pTickerDialog->addValue(99);
    

    Das geht aber nicht, er fliegt mir ab.
    Im Kunstruktor von CPointer habe ich

    m_pTickerDialog = NULL;
    

    gesetzt.

    Null kommt aber auch nicht an.

    Was mache ich falsch ??
    Gruß
    andy_mann



  • Hallo,

    hat keiner ne Idee ??

    Wie hole ich mir den Pointer, den ich in der CMainFrame in die Class CPointer geschrieben habe in einer anderen Class z.b. CProjektView wieder her ??

    // in der CProjektView
    CPointer m_cPointer;
    CTickerDialog* m_pTickerDialog;
    
    m_pTickerDialog = m_cPointer.getTickerDialog();
    if(m_pTickerDialog != NULL) m_pTickerDialog->addValue(2);
    

    Gruß
    andy_mann



  • Hallo,

    kann mir keiner Helfen ??

    Gruß
    andy_mann



  • Bist du sicher, dass deine Pointer bei der Initialisierung ohne new auskommen ?



  • Hallo,

    mmmhhhhh nö, eigentlich nicht.
    Wo kommt das new hin ??

    GRuß
    andy_mann



  • Eigentlich geht das doch so:

    CTickerDialog* m_pTickerDialog;
    m_pTickerDialog = new CTickerDialog;
    

    ...und später dann den Pointer wieder löschen, wenn er nicht mehr gebraucht wird:

    delete m_pTickerDialog;
    


  • Hallo,

    ich Danke Dir vielmals.

    Ist es aber nicht so, wenn ich einen Splitter habe,
    in dann anschließend mit GetPane in einen Pointer Schreib, dieser dann schon da ist ??

    Gruß
    andy_mann



  • Öhm, kann sein, keine Ahnung. Darum habe ich ja auch zuerst ganz vorsichtig gefragt, ob du sicher bist, dass das ohne new geht. Sah eben auf den ersten Blick komisch aus. Mit Splittern habe ich selbst noch nix gemacht. Vielleicht gibt es hier ja irgendwo noch ein paar Experten, die es genauer wissen...


Anmelden zum Antworten