Probleme mit DirectX::DirectInput



  • Hallo,

    ich muss für eine Projektarbeit ein bestehendes Programm überarbeiten.
    Bei dem Auslesen von einem Joystick bin ich leider auf einige Probleme gestoßen. Probehalber habe ich mal versucht die tastatur aus zu lesen, was zu dem selben Ergebnis gefühert hat.

    Der Compiler gibt folgende Warnungen aus

    warning C4393: "Microsoft::DirectX::DirectInput::SystemGuid::Mouse": Die Konstante hat keine Auswirkung auf initonly-Datenmember; wird ignoriert.
    
    warning C4393: "Microsoft::DirectX::DirectInput::SystemGuid::Keyboard": Die Konstante hat keine Auswirkung auf initonly-Datenmember; wird ignoriert.
    

    Mein Code wird zwar kompiliert und gestartet, aber der Debugger hängt beim ausführen(die Schritt/Einzelschritt-Schaltflächen sind ausgegraut).

    Die Codezeile sieht wie folgt aus

    Microsoft::DirectX::DirectInput::Device ^keyboard;
    keyboard= gcnew Microsoft::DirectX::DirectInput::Device(SystemGuid::Keyboard);
    

    bzw.

    Device ^keyboard= gcnew Device(SystemGuid::Keyboard);
    

    Wenn ich die Zeile auskommentiert läuft alles.

    Wenn ich den JoyStick testhalber mit GetJoyPosEx auslese funktioniert alles wunderbar, nur leider halt kein managed C++.

    Ich nutze Visual Studio 2010 Express an der Hochschule bzw. Ultimate an meinem eigenen Rechner.

    Wäre schön wenn mir jemand einen Tipp geben könnte.

    Grüße
    JD



  • Setzt doch mal auf der Methode einen Breakpoint und gehe per Einzelschritt rüber... dann siehst Du ob es an der Methode liegt (also, ob die hängt) oder an etwas anderem...



  • Der Debugger macht leider gar nichts, auch wenn ich einen Breakpoint setzte.

    Ich werde das gleiche mal in C# versuchen und schauen ob es funktioniert.
    Wenn ja schreibe ich den bestehenden Code um, denke wird schneller gehen.

    Ich werde das Ergebnis meiner Bemühungen hier dann angeben.

    Grüße
    JD



  • Also, unter C# hab ich es recht schnell zum laufen gebracht. Allerdings habe ich das eventuell nur VS Ultimate zu verdanken. Im Gegensatz zu C++ unter der Express Version habe ich eine brauchbare Fehlermeldung bekommen. Es lag letztendlich an .NET 4. Wenn ich das Projekt für 3.5 erstelle läuft es.

    Aber meine Motivation auszuprobieren ob das auch bei C++/CLI funktioniert ist eher gering.

    Grüße
    JD



  • jdmm schrieb:

    Aber meine Motivation auszuprobieren ob das auch bei C++/CLI funktioniert ist eher gering.

    Seit langem mal einer der vernünftigsten Posting in diesem Forum...


Anmelden zum Antworten