Datenübergabe in Registern
-
Hi
Ich habe mit PropertyPage mehrere Dialogfelder und wollte das die Daten aus Feld1 in Feld2 übernommen werden. Kann mir jemand ein Rat Geben?
-
member Variablen sind dein Freund!
-
Im Dialog 1 habe ich m_KNummer
und im 2. Dialog m_KRechNamemein problem ist die beiden zusammen zu bekommen.
in den Einzelnen Dateien habe ich auch die h-Dateien includiert.
-
was heißt zusammen bekommen? Vielleicht so?
//im ersten Dialog CDialog2Dlg dlg; dlg.mKRechName += mKNummer;
UNd umgekehrt
//im zweiten Dialog CDialog1Dlg dlg; dlg.mKNummer += mKRechName;
-
Ich habe mich falsch Ausgedrückt.
Mein Vorhaben Aus CRegister2 die Variable m_strKName der Variablen in CRegister1 m_strKRechName zuweisen.
Mein Versuch in CRegister1
UpdateData(TRUE);
CRegister2 dlg;
m_strKRechName = glg.m_strKName;
UpdateData(FALSE);
-
Guck mal FAQ:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-72430.htmlDas habe ich vor kurzem mal mit einer boolschen-Variable gemacht (also im Sheet gespeichert und auf den Dialogen zugewiesen/abgefragt). Hat erstmal funktioniert. Leider hatte das einen späteren Absturz zur Folge, wenn der User sehr oft in Folge zwischen den Karteireitern wechselte, darum habe ich es wieder umgebaut.
Wenn also einer einen qualifizierten Kommentar abgeben kann nach dem Motto "das ist so schon richtig und muss klappen" oder "durch den Pointer und die Zuweisung ist das in der Tat nicht ganz ungefährlich" oder sogar "das ist so eigentlich falsch" würde ich mich auch freuen.
-
@rest deine Versuchsbeschreibung tut was anderes wie dein Code dazu
rest schrieb:
Ich habe mich falsch Ausgedrückt.
Mein Vorhaben Aus CRegister2 die Variable m_strKName der Variablen in CRegister1 m_strKRechName zuweisen.
Mein Versuch in CRegister1
UpdateData(TRUE);
CRegister2 dlg;
m_strKRechName = glg.m_strKName;//vertippt muss natürlich dlg heißen
UpdateData(FALSE);Mach das mal so wie du es beschreibst! hatte sorum wie dein Source ist auch schon oft probs und so nicht:
//In CRegister2 UpdateData(TRUE); CRegister1 dlg; dlg.m_strKRechName = m_strKName;