Zwei Fehler!



  • Hallo,

    ich habe folgende Fehler hab aber keine Ahnung was das heißt, bei debugen kommt auch keiner, beispiel:

    An unhandled exception of type 'System.InvalidCastException' occurred in mscorlib.dll

    Additional information: Das Objekt des Typs System.Random kann nicht in Typ System.IConvertible umgewandelt werden.

    Hier ist der Code dazu:

    case 1:
    
    							randObj->Next(0, 1); //Zufallszahl generieren
    							if (Convert::ToInt32(randObj) == 0) { //Falls 0 -> Links
    								Left_Back();
    								Right();
    								turn_last = 0; 
    							}
    							else if (Convert::ToInt32(randObj) == 1) { //Falls 1 -> Rechts
    								Left();
    								Right_Back();
    								turn_last = 1;
    							}
    
    						break;
    

    Was ist daran Falsch?

    Und dann noch das:

    An unhandled exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll

    Additional information: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement checkBox1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.

    Wo liegt der Fehler, ich hab auch versucht alles public zumachen also die checkboxen aber es passiert nichts. Und ich greife mit keinem anderen Thread darauf zu!

    Bitte um hilfe. Vielen dank..



  • Neuer Gast schrieb:

    An unhandled exception of type 'System.InvalidCastException' occurred in mscorlib.dll

    Additional information: Das Objekt des Typs System.Random kann nicht in Typ System.IConvertible umgewandelt werden.

    Die Fehler Meldung beschreibt doch dein Problem. Die Next Methode gibt dir die Zufallszahl zurück. Die musst du speichern und dann vergleichen also so:

    case 1:
    
    							int randomNumber = randObj->Next(0, 1); //Zufallszahl generieren
    							if (randomNumber == 0) { //Falls 0 -> Links
    								Left_Back();
    								Right();
    								turn_last = 0; 
    							}
    							else if (randomNumber == 1) { //Falls 1 -> Rechts
    								Left();
    								Right_Back();
    								turn_last = 1;
    							}
    
    						break;
    

    bei dem zweiten Fehler musst du genau überprüfen von wo du deine CheckBox aufrufst einfach mal das gesamte Projekt durchsuchen.



  • Ok, jetzt leuchtet es mir ein aber es kommt ein Fehler das die Zahl im case skipped ist, was heißt das den nun genau?

    1>c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\Steuerung.h(123) : error C2360: initialization of 'randomNumber' is skipped by 'case' label
    1>        c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\Steuerung.h(108) : see declaration of 'randomNumber'
    1>c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\Steuerung.h(130) : error C2360: initialization of 'randomNumber' is skipped by 'case' label
    1>        c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\Steuerung.h(108) : see declaration of 'randomNumber'
    1>Robot Controller.cpp
    1>c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\steuerung.h(123) : error C2360: initialization of 'randomNumber' is skipped by 'case' label
    1>        c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\steuerung.h(108) : see declaration of 'randomNumber'
    1>c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\steuerung.h(130) : error C2360: initialization of 'randomNumber' is skipped by 'case' label
    1>        c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\steuerung.h(108) : see declaration of 'randomNumber'
    1>Parkour.cpp
    1>c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\Steuerung.h(123) : error C2360: initialization of 'randomNumber' is skipped by 'case' label
    1>        c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\Steuerung.h(108) : see declaration of 'randomNumber'
    1>c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\Steuerung.h(130) : error C2360: initialization of 'randomNumber' is skipped by 'case' label
    1>        c:\dokumente und einstellungen\bnightspeeder\eigene dateien\visual studio 2005\projects\robot controller\robot controller\Steuerung.h(108) : see declaration of 'randomNumber'
    

Anmelden zum Antworten