Variablen aus ander Klasse benutzen !?



  • Hi an alle,

    In meinem programm sind mehrere klassen. in der einen klasse habe ich einen CString (der hat den variablennamen m_eDatei). jetzt muss ich diesen wert von einem anderen dialogfeld auslesen. also muss ich auf ihn von einer anderen klasse aus auslesen. ich kann dem programm aber noch nicht mal sagen, das er den wert von einer variablen aus der anderen klasse nehmen soll !?

    ich bin am verzweifeln, kann mir jemand helfen ?? danke schon mal 😞



  • Es gibt da allgemein viele Möglichkeiten wie man das machen kann, sag doch mal was das für Klassen sind und wo die Instanzen von ihnen stehen.



  • Hi,

    du erstellt esrtmal in deiner Dialogklasse ein Objekt der 1 klasse (wo sich dein String befindet)

    Deine1Klasse obj;
    

    Wenn dein string public ist, kannst du jetzt einfach über

    obj.deinstring
    

    darauf zugreifen

    Gruß



  • @ 0x00000001@zivi:
    2 Klassen gehören zu meinem Hauptdialogfeld (CNumChangeDlg und CNumChangeApp) indem sich auch der CString befindet den ich auslesen will. Dann habe ich noch 4 andere Klassen. Jede Klasse gehört je einem Dialogfeld an. Ein Dialogfeld versucht dann halt auf den CString aus dem HauptDialogfeld zuzugreifen.
    (Was meinst du mit Instanzen 😉 )

    @ goochie:
    Ich weiss nicht ganz genau wie ich das machen soll aber ich probiere noch ein bischen aus bevor ich dich wahrscheinlich irgendwann frage: wie geht das ??

    vielen dank an euch beide 😉



  • Hallo!

    Bitte mal die Suchfunktion benutzen. Die Frage wurde schon zig-mal gestellt.



  • will mal nen forum sehen wo man nicht gleich bei jeder frage angemacht wird. einige die es versuchen freundlich rüber zukommen gibt's ja ...



  • Das geht ja nicht gegen dich persönlich, aber einige Leute begreifen anscheinend nicht, dass es überhaupt eine Suchfunktion gibt.

    Mit den Stichwörtern "Variable", "andere" und "Klasse" bekomme ich schon 12 Treffer.



  • Wenn dieser Dialog, der auf den String im Hauptfenster zugreift auch ein Unterfenster des Hauptdialogs ist, dann geht es wie folgt:

    CUnterDlg::Beispielfunktion()
    {
       CString einstring = ((CNumChangeDlg*)GetParent())->m_eDatei;
    }
    

    Kurze erklärung noch: GetParent() ist eine Funktion von CWnd und gibt einen Zeiger auf das Elternfenster zurück. Mit (CNumChangeDlg*) wird dieser Zeiger in einen Zeiger auf Deine Klasse umgewandelt.
    Und da es ein Zeiger ist kann man mit '->' auf die Objekte zugreifen.



  • @thomas80d:
    ok, ich habe die suchfunktion benutzt. ich habe mir auch alle beiträge durgesehen. entwerder haben sie alle andere themen behandelt, oder meine frage nicht beantwortet.
    Ich habe auch nur so reagiert, weil ich sowas schon oft gesehen/erlebt habe. vielleicht kann man themen übersehen; ich verstehe auch das es nerven kan wenn man oft doppelt und dreifach themen sieht die bereits beantwortet sind, aber irgendwann ist es für beide seiten lästig.
    Frieden ? 😉

    @0x00000001:
    Danke für den code. mit dem anderen konnte ich teils was anfangen. ich konnte es kompilieren und ich habe auch verstanden wie es funktiniert. aber es hat leider nicht funktioniert 🙄 aber der neue code tut es. danke noch mal, und danke für die erklärung 😉

    [ Dieser Beitrag wurde am 25.09.2002 um 16:54 Uhr von Red Skall editiert. ]


Anmelden zum Antworten