absolute anfängerfrage über variablen
-
ich habe eine variable einem editfeld zugeordnet
den inhalt möchte ich in einer anderen cpp datei weiterbearbeiten
aber die variable ist dort nicht deklariert
wie kann ich das lösen ?danke
-
Hab ich das richtig verstanden? Du möchtest in einer zweiten Klasse eine Variable aus der ersten benutzen? Wenn ja, dann könntest du das beispielsweise so machen:
CDerNameDeinerErstenKlasse klasse1; CString neueVariable = klasse1.variableKlasse1; //Jetzt hast du die Variable deiner alten Klasse.
Das machst du in der zweiten Klasse rein. Die Variable der ersten Klasse sollte global sein wenn du es so machst. Natürlich musst du auch noch die erste Klasse oben includen damit er es kennt (#include "NameEinerErstenKlasse.h")
-
Da das aber ein Dialog zu sein scheint (wg. Editfeld), funktioniert das so, wie BAR es schreibt nicht.
Der Dialog existiert ja schon und BAR legt eine neue Instanz an.
Die Variable ist also immer leer.neww, wenn du eine hilfreiche Antwort haben möchtest, solltest du mal etwas genauer beschreiben, wie die beiden Klassen aneinander hängen. Ist es vielleicht ein Doc und der View dazu?
Oder ein Dialog, der aus dem erwähnten cpp aus aufgerufen wurde?
-
also es ist so
ich habe die variable url im dialogfeld in Dlg.cpp
der inhalt ist die url zu der ich connecten will
diese möchte ich übergeben an ein cpp welches zu der url connected
-
Rufst du den Dialog aus dem cpp auf?
-
nein weiss nicht wie iches beschreiben soll
aber habe bars methode probiert und du hast recht die variable ist leer
-
der dialog ruft die cpp auf
-
Das Problem was ich jetzt habe ist, dass du dich irgendwie über Zeiger vom cpp zum Dialog "hangeln" musst. (Neue Instanzen erstellen hätte den Effekt, den du bemerkt hast. Da fallen auch viele drauf rein...)
Was auch geht, bevor dir gar nichts mehr einfällt:
Mit AfxGetApp() bekommst du einen Zeiger auf deine Anwendungsklasse.
Den musst du noch mit dynamic_cast casten (und mit ASSERT prüfen) - und schon kannst du die Variable in deiner App-Klasse "zwischenlagern".Wenn du das Puzzle da oben nicht zusammen kriegst, poste mal den Namen deiner App-Klasse, dann bau ich dir das zusammen.
-
Wie ruft der Dialog das cpp auf? Zeig mal ein wenig Code bitte.
-
habs jetzt geschafft
habe die variable als parameter mit übergeben
-
Manchmal muss man nur drüber reden...