Mal was anderes als SDI



  • Und zwar folgendes ich bin dabei einen Login Dialog zu erstellen, und je nachdem wer sich anmeldet wird an einen bestimmten Dialog übergeben. Nur bei mir funktioniert dies nicht und ich kann mir den Fehler nicht erklären.

    [cpp]void Login::OnLogin() 
    {
    	if(m_Login_User == "Admin" && m_Login_Password == "test")
    	{
    		AdminClient dialog;
    
    		dialog.DoModal();
    	}
    	else if(m_Login_User == "Dors" && m_Login_Password == "test")
    	{
    		UserClient dialog;
    
    		dialog.DoModal();
    	}
    	else
    	{
    		MessageBox("Die eingegebenen Daten sind falsch","Fehler",MB_ICONEXCLAMATION | MB_OK);
    
    		m_Login_User = '\0';
    		m_Login_Password = '\0';
    	}
    
    }[/cpp]
    

    Momentan sind es noch Testuser die später alle in einer Datenbank drin stehen. Ich habe die AdminClient.h und die UserClient.h auch in der cpp definiert. Wenn ich DoModal mit einem Dialog separat ausführe dann geht das auch , nur nicht wenn ich in die Membervariablen was eingeben muss. Ich kann mir den Fehler nicht erklären 😕



  • ich kann mir das nicht so ganz vorstellen ehrlichgesagt.

    Du hast ein FormView oder was auch immer und rufst von da aus einen dialog auf, und wenn du in die membervariablen vom Dialog etwas schreiben willst gibts nen error ?



  • Nein ich habe einen Dialog UserClient und einen Dialog AdminClient, wenn sich nun der Admin anmeldet soll sich der AdminClient Dialog öffnen und wenn sich Dors anmeldet dann soll sich der UserClient Dialog öffnen. Und das tun Sie aber nicht und ich weiss net wieso. Der sagt mir dann immer den MessageBox fehler den ich da stehen habe.



  • wenn m_Login_User ein CString ist nimm CString::Compare();

    ich denk es liegt daran aber vorsicht Compare ibt 0 zurück wenn kein er keinen unterschied feststellt also so prüfen:

    if (m_Login_User.Compare("Admin") == 0) ...
    


  • klappt immer noch nicht der zeigt mir wieder direkt die MessageBox an 😕



  • setz da mal einen Breakpoint und schau dir deine Variablen an was drinne steht. Ich denke eher deine Variablen werden woanders nicht richtig gesetzt.

    Jetzt wo ich das schreibe: kann es sein, dass du gerade "im Login-Fenster sitzt"?
    Dann wäre direkt am Anfang ein

    UpdateData(TRUE);
    

    von Vorteil, um die Eingabe in deine Variablen zu übertragen!!!



  • Ok danke das funktioniert


Anmelden zum Antworten