Zugriff auf Dialog ?



  • Hallo zusammen

    ich möchte zugriff auf das HaupDialog Klasse aus eine andere klasse und das schon seit 2 wochen 🙂

    ich habe in der Neben klasse eine zeiger auf die Hauptklasse angelegt.
    und eine Funktion SetDialog().

    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    // Toplama.h : Header-Datei
    //

    /////////////////////////////////////////////////////////////////////////////
    // Fenster Toplama

    class CZweiklassenDlg;

    class Toplama : public CWnd
    {
    // Konstruktion
    public:
    Toplama();

    // Attribute
    public:

    CZweiklassenDlg Dialog;// Hauptdialog Zeiger
    void Anzeige(int a);
    // Operationen
    public:
    void SetDialog(CZweiklassenDlg
    dialog) { Dialog = dialog; };

    // Überschreibungen
    // Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen
    //{{AFX_VIRTUAL(Toplama)
    //}}AFX_VIRTUAL

    // Implementierung
    public:
    virtual ~Toplama();

    // Generierte Nachrichtenzuordnungsfunktionen
    protected:
    //{{AFX_MSG(Toplama)
    // HINWEIS - Der Klassen-Assistent fügt hier Member-Funktionen ein und entfernt diese.
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    };

    /////////////////////////////////////////////////////////////////////////////

    //{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.

    #endif // AFX_TOPLAMA_H__A8760A5F_1C9A_460F_B5A3_50C8F96BD56A__INCLUDED_

    wenn ich den Diolagzeiger einsetzen möchte bekomme ich kein zugriff

    // Toplama.cpp: Implementierungsdatei
    //

    #include "stdafx.h"
    #include "zweiklassen.h"
    #include "Toplama.h"
    //#include "zweiklassenDlg.h"
    #ifdef DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE
    _;
    #endif

    /////////////////////////////////////////////////////////////////////////////
    // Toplama

    Toplama::Toplama()
    {

    }

    Toplama::~Toplama()
    {
    }

    void Toplama::Anzeige(int a)
    {
    Dialog-> //der zeiger oprator öffnet mir keine liste was mache ich da falsch?

    }

    BEGIN_MESSAGE_MAP(Toplama, CWnd)
    //{{AFX_MSG_MAP(Toplama)
    // HINWEIS - Der Klassen-Assistent fügt hier Zuordnungsmakros ein und entfernt diese.
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    ////////////////////////

    ich bekomme keine Fehler meldung aber auch kein zugriff auf die Elemente des Haupdialoges.

    kann mich bitte jemand von diesen qualen befreien..
    Bin Anfänger 😞
    ich möchte doch nur auf die HaupKlasse zugriff haben kann doch nicht so schwer sein 😮

    Grüße Can



  • Versuch mal

    ((*CZweiklassenDlg)GetParent)->Funktionsname bzw Variablenname
    


  • Guten Morgen Trikor

    so habe ich es auch probiert leider 3 fehler

    void Toplama::Anzeige(int a)
    {
    //Dialog->

    ((*CZweiklassenDlg)GetParent)->m_sAnzeige ="Hallo";
    }

    Toplama.cpp
    C:\Maximum MIDI\Example Apps\zweiklassen\Toplama.cpp(32) : error C2275: "CZweiklassenDlg" : Ungültige Verwendung dieses Typs als Ausdruck
    c:\maximum midi\example apps\zweiklassen\toplama.h(13) : Siehe Deklaration von 'CZweiklassenDlg'
    C:\Maximum MIDI\Example Apps\zweiklassen\Toplama.cpp(32) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'GetParent'
    C:\Maximum MIDI\Example Apps\zweiklassen\Toplama.cpp(32) : error C2059: Syntaxfehler : ')'
    Fehler beim Ausführen von cl.exe.



  • Hallo,

    da hat Trikor eine recht eigenwillige Schreibweise eines C-Style-casts angegeben, und da GetParent eine Funktion ist, fehlen auch noch die Klammern dahinter, richtiger wäre es also so:

    ((CZweiklassenDlg*) GetParent())->m_sAnzeige ="Hallo";
    

    MfG



  • Trikor schrieb:

    Versuch mal

    ((*CZweiklassenDlg)GetParent)->Funktionsname bzw Variablenname
    

    Was hab ich da geschrieben??? 😮 😮 😮

    Mein Gott, das darf doch wohl nicht war sein. Das ist natürlich völliger Blödsinn.

    Richtig ist wie Probe-Nutzer schon schrieb

    ((CZweiklassenDlg*) GetParent())->Funktionsname bzw Variablenname
    

    Ich versprech hoch und heilig nie wieder morgens um 10.00 h (total besoffen nach einer durchzechten nacht) ein Posting abzugeben. Hab bis grade nicht mal mehr gewusst, das ich mich überhaubt am Rechner gesetzt habe.

    Nochmal Sorry 🤡


Anmelden zum Antworten