Dziwne błędy na innym komputerze

Odpowiedz Nowy wątek
2015-02-01 22:27
Mikołejko
0

Witam. U mnie na komputerze wszystko jest w porządku (Mam Win7), piszę w MVS 2010 C#, Framework 4.0 . Kolega ma Win 8 i może to jest problem ale do końca nie jestem przekonany, po złapaniu całej funkcji w catch(Exception ex) pod ex.Message występuje komunikat "Nieprawidłowy format ciągu wejśćciowego", przy ex.Source wypluło mi komunikat (jest w załączniku). Nie wiem kompletnie co jest nie tak jeżeli u mnie wszystko działa a u kolegi występuje błąd. W skrócie opiszę metode, która się wywołuje.

Sprawdza teskt na stronie przez webbrowsera.
Konwertuje pierwszy string do inta
Pobiera znów tekst ze strony
Konwertuje do inta z funkcją replace razem
Później są zwykłe ify na podstawie pobranych danych i jeżeli są dobre to przechodzi na inną stronę ale do tego nawet nie dochodzi bo nawet jak są dobre to nie przechodzi na stronę, od razu wyskakuje błąd wyżej opisany i wszystko staje. 

Macie może pomysł dlaczego tak się dzieje?

Drugi problem jest tak samo dziwny, zaznaczony radiobutton przypisuje do zmiennej wartość 1, później przy wciśnięciu buttona wartość jest sprawdzana i jeżeli jest 1 to puszcza a jeżeli 0 to wyskakuje komunikat. Kolega zaznacza radio i wciskając button wyskakuje komunikat czyli wartość nie jest przypisywana(jak było 0 bez zaznaczonego radia to tak z zaznaczonym jest 0 gdzie powinno być 1), jak to jest możliwe w ogóle bo nie ogarniam za bardzo, u mnie wszystko działa perfekcyjnie a u niego zwykłe przypisane wartości w zmiennej szwankuje. To wina tego windowsa 8 czy co?

Z góry dzięki za pomoc!

Pozostało 580 znaków

2015-02-01 22:46
0

Moja czarodziejska kula mówi mi że to nie wina systemu ale ustawień regionalnych.
Ale lepiej będzie jak dodasz sobie do aplikacji jakieś logi albo zainstaluj u kolegi VS i prze debuguj.


Yubby dibby dibby dibby dibby dibby dibby dum..
edytowany 2x, ostatnio: DibbyDum, 2015-02-01 22:48

Pozostało 580 znaków

2015-02-01 23:03
Mikołejko
0

Z tą instalacją u niego VS i zaznaczaniem breakpointów w każdej linijce myślałem ale za dużo roboty mu na głowę zrzucę. Co do logów to mam je dodane ale teraz dodałem ich co każdą linijkę aby widzieć gdzie się zatrzyma. Dopiero jutro zobaczę jak to wyjdzie i dam znać, pierwszy raz z czymś takim spotkałem się.

Pozostało 580 znaków

2015-02-02 00:06
0

Zamiast robić wpis do logu co każdą linijkę, przechwyć wyjątek na poziomie całej aplikacji i zapisz jego stracktrace.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2015-02-02 21:19
Mikołejko
0

Wpis do LOG'u pomógł bo program zatrzymuje się gdy ma skonwertować string do inta

string miejsce = pobranie z webbrowsera innertext. // pobiera dobrze
int asd = Convert.ToInt32(miejsce); // tu sie zatrzymuje i nic co po tym jest wpisane nie jest dodawane do LOG'u

Dlaczego na tym program się zatrzymuje?

Pozostało 580 znaków

2015-02-02 21:23
.Al
0

zrób tak:

int iInt = int.TryParse(TwojString, out iInt) ? iInt : 0;
Absolutnie nic mu to nie da. - somekind 2015-02-03 01:39
jeśli string nie będzie liczbą, to przynajmniej się nie wywali. Czyli coś tam da. - .Al 2015-02-03 08:06

Pozostało 580 znaków

2015-02-03 01:39
0
Mikołejko napisał(a):

Wpis do LOG'u pomógł bo program zatrzymuje się gdy ma skonwertować string do inta

string miejsce = pobranie z webbrowsera innertext. // pobiera dobrze
int asd = Convert.ToInt32(miejsce); // tu sie zatrzymuje i nic co po tym jest wpisane nie jest dodawane do LOG'u

Dlaczego na tym program się zatrzymuje?

@DibbyDum już dawno odpowiedział na Twoje pytanie. Twój kolega ma inne ustawienia regionalne niż te, z którymi działa program. Konwertuj liczby podając odpowiedni obiekt CultureInfoalbo niech kolega zmieni sobie ustawienia w panelu sterowania.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2015-02-03 08:36
2

Czy wczytywana liczba to tylko cyfry, czy tam nie ma przypadkiem separatorów oddzielających setki tysiące itp. ?

edytowany 2x, ostatnio: Sarrus, 2015-02-03 08:36

Pozostało 580 znaków

2015-02-07 18:47
Mikołejko
0

Jest tam całkowity int, replace robię wcześniej.

int.tryparse - pomogło :D, dzięki wielkie.

A z tymi ustawieniami regionalnymi to jak jest ogólnie i na czym polega ta zmiana w panelu sterowania?

Pozostało 580 znaków

2015-02-10 02:37
0

Panel Sterowania -> Region i język -> zakładka Formaty
Zmiana polega na zmianie ustawień regionalnych, czyli formatu daty, godziny, waluty, itd.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0