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();


Anmelden zum Antworten