Wert speichern und übergeben
-
Hallo!
Ich will ein Wert aus einer Klasse in andere Übergeben.
Ich hab es volgend gemacht:class cmpConnection... public: ... bool letkeys; void SetLetkeys(bool b) { letkeys = b; }; bool GetLetkeys(void) { return letkeys; };
In einer Function cmpConnection setze ich SetLetkeys(true);
Dann in anderer Klasse mach ich eine Instanz von cmpConnection:
cmpConnection cmpConn;und in Function wmOnKeyDown will ich letztendlich den Wert haben:
void wndMicrophone::wmOnKeyDown(HWND hWindow, unsigned int msgCode, WPARAM wParam, LPARAM lParam) { // wParam is KeysValue bool b; unsigned int i; b = cmpConn.GetLetkeys(); if (b) { i = wParam; } }
Aber ich bekomm immer false zurückgegeben. Warum? Wo ist mein Fehler?
-
zeig mal deine Instanz!
Da liegt bei mir immer der Hund begraben(Wer hier ein wenig eingelesen ist hat das sicher schon gemerkt! *g*)
-
Was meinst du?
#include <windows.h> #include "connect.h" #include "logfile.h" #include "recorder.h" // Hier ist die Instanz cmpConnection cmpConn; ... Hier kommen die Functionen ...
Was kann man hier falsch machen?
-
cmpConnection cmpConn; cmpConn.SetLetkeys(true); if( cmpConn.getLetkeys() ){ // falls true }
Wenn du natürlich die Methode mit einer anderen Instanz von cmpConn aufrufst, dann bist du nicht im entsprechenden Gültigkeitsbereich...
Daher: Schau mal, ob du noch nicht mit lokalen Instanzen arbeitest... oder sonst poste ein bissl mehr Code.
-
pass auf ich nehm mal an der eine dialog modalt den anderen, oder? Dann schreib folgendes:
[cpp]// im Dialog1 du solltest aber eine member oder globale Variable auf dein 2. Dialog haben
dialog2.m_deineMember = true;
dialog2.DoModal();