[C#] Zaadaptowanie joysticka do projektu. 32-bity na 64-bitach oraz plik *.cd


(Nicesound43) #1

Cześć,

 

szukałem jakiegoś programu do tego, aby zczytywać informacje z joysticka. Dokładnie jest to model Logitech Cordless RumblePad 2.

To, co znalazłem to oto ten program-> http://www.codeproject.com/Articles/16704/Interfacing-with-a-Joystick-using-C

No, ale by tu mnie nie było gdyby....

 

1) Nie mogę programu odpalić. Wyrzuca wyjatek HRESULT 0x800700C1. Jak szukałem to okazało się, że program jest napisany ponoć na 32 bity i stąd ten problem. Rozwiązaniem tego problemu ponoć jest:

    a) odpalenie programu w systemowym emulatorze. Tutaj mam tę odpowiedź-> http://blogs.msdn.com/b/tolong/archive/2007/03/21/use-visual-studio-to-build-64-bit-application.aspx

   b) skompilowanie pod system 64-bitowy. Tak, jak w linku pisze.

Ale błąd jest ten sam (HRESULT 0x800700C1). Nie mam pojęcia co z tym zrobić.

 

2) Dowiedziałem się, że w Visual'u jest coś takiego fajnego jak diagram klas. Coś takiego ma właśnie ten program, ale za nic w świecie nie mogę tego uruchomić. Podobno to wyniki z tego, że mam wydanie Express Visual'a. Czy jest zatem jakiś inny sposób na to, aby zobaczyć ten diagram? Przydałby mi się by zobaczyć jak ten program działa.

 

 

A może jest inny program, który zczytuje informacje z joysticka? Sygnał ma iść do komputera, który dalej ten sygnał przetwarza.

501


(Sedd) #2

Polecam kompilacje programu pod Visual Studio 2015

Postępuj według tej strony przy kompilacji

 

Jakby nie pomogło to popatrz tutaj


(Nicesound43) #3

382

Zainstalowanie Visial Studio 2015 pomogło mi jeśli chodzi o diagram, za co serdecznie Ci dziękuję.

Jeśli chodzi o kompilowany program to już jest gorzej…

Ogarnąłem jak zrobić plik wykonywalny, ale gdy już go samego odpalam to wyświetla mi się okienko z błędem. Innym niż do tej pory.

Okienko i jego długą treść, która się kryje w skrytym nieco polu podsyłam linkami.

 

Treść: http://sharesend.com/74kwdx87

 

Okienko: http://sharesend.com/ll6iu4gl

 

Z tego co mi się wydaję, to ten program był pisany pod bardzo starego .NET-a. Ale czy to znaczy, że muszę ściągać jakąś tam starą wersję? Program był napisany w 2006 roku i korzystał z początkowych wersji .NET. Czy to nie jest tak, że tylko najnowasze wersja jest potrzebna?


(mktos) #4

To nie jest do końca tak, że potrzebna jest tylko najnowsza wersja - programy dla .NET 1.1 mogą nie zadziałać bez zmian na .NET 2.0, a te z .NET 2.0 na .NET 4.5. Jak komunikat błędu (ale koszmarny hosting dla tego obrazka wybrałeś) wskazuje, nie da się załadować tej aplikacji bez dodatkowych informacji konfiguracyjnych. Dodatkowo, .NET 1.1 nie jest raczej wspierany w obecnych wersjach Windows.

 

Możesz spróbować przekompilować aplikację dla nowszej wersji .NET, albo spróbuj dodać plik o nazwie takiej samej jak plik .exe, ale rozszerzeniu .exe.config i o treści:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true"> 
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>

Może zastartuje wtedy na 4.0.