MessageBox falscher Rückgabewert



  • Hallo,
    ich möchte nach einer Aktion eine MessageBox anzeigen lassen mit zwei Schaltflächen, YES und NO. Der Aufruf sieht so aus:
    Application->MessageBox("Nicht gefunden!Laufwerk wechseln?","Info",MB_YESNO);
    Nachdem ich dann eine der Schaltflächen anklicke, liefert diese mir einen Rückgabewert, den ich weiterverarbeiten kann. Bei YES soll das die 6 und bei NO die 7 sein, laut BCB Hilfe. Um den Wert zu überprüfen lasse ich mir diesen in einem Label anzeigen und egal welche Schaltfläche ich klicke es wird mir die 5 zurückgegeben. Ich kann also nicht auf die 6 bzw 7 abfragen. Kann mir jemand weiterhelfen, so dass mir die richtigen Rückgabewerte ausgegeben werden?Danke.



  • Kann das Problem nicht nachvollziehen. Folgendes Beispiel funktioniert bei mir einwandfrei:

    TModalResult mr = Application->MessageBoxA("Test", "Test", MB_YESNO);
    if (mr == IDYES)
    	Label1->Caption = "JA";
    else
    	Label1->Caption = "NEIN";
    

    Oder in der Kurzform:

    if (Application->MessageBoxA("Test", "Test", MB_YESNO) == IDYES)
    {
     ...
    }
    

    Du solltest grundsätzlich die Konstanten verwenden, keine direkten int-Werte...



  • Ich habe mal die Kurzform an mein Projekt angepasst und ich kann zu meiner Freude feststellen, dass es geht. Danke für die schnelle Hilfe.


Anmelden zum Antworten