Teraz to już sam się pogubiłem trochę.
Dobra to zacznijmy to porządkować, jeżeli używa się wątków może się tak zdarzyć, iż wątek z powodu braku synchronizacji będzie miał problemy z odczytaniem zmiennych przekazywanych bezpośrednio z obiektów(mechanizmów Formy).
Ja raczej zwaliłbym problem z odczytem na to, iż przy testach kompilator coś pochrzanił, a raczej ja próbując testować.
Postaram się w najbliższym dniach przyjrzeć waszym rozwiązaniom, ponieważ na razie jest to dla mnie czarna magia i na spokojnie muszę to przetestować.
kinio napisał(a):Hej,
Chyba nie przeczytałeś tego co napisałem - szkoda!
Jeżeli tworzysz wątek, który chce się odwoływać do zmiennych, pól, czy jak to tam sobie nazwiesz które znajdują się w pamięci współdzielonej to program Ci się wywali!
Musisz dokonać synchronizacji!!!
Przeczytaj jeszcze raz co napisałeś:
Dante napisał(a):Widocznie coś przy kompilacji się sknociło i dzisiaj jest już ok.
To nie brzmi jak wytłumaczenie.
Tak, owszem dzisiaj może Ci działać ale jutro, albo nawet zaraz może przestać.
Nie mogę się z tobą zgodzić ponieważ aplikacja działa(cały czas jej używam tylko chciałem ją ulepszyć), błąd owszem się pojawił "p is not intiger"(czy jakoś tak), gdyż nie miałem zabezpieczenia przed wpisywaniem liter(znaków innych niż liczby), akurat to moja wina. Nie mówię, że synchronizacja nie rozwiązuje problemu. Ostatnio mi zniknęła forma więc winą obarczyłem i w tym wypadku kompilator.
Nie chcesz mi mówić, iż jak mam zmienną p = 3 - to ta zmienna się zmienia i nie ważne czy to jest wątek czy coś innego sam podałem przykład, który rozwiązuje problem stosując przestrzeń nazw.
Jak pisał Baron
Cyfrowy Baron napisał(a):Gdy zadeklarujesz zmienne w sekcji public to możesz odwoływać się do nich w wątku poprzez odpowienie adresowanie na obiekt formularza do którego przynależą, czyli np. Form1->zmienna = coś tam.
//czas = Form2->Edit1->Text.ToIntDef(-1);//BŁĄD
nie działa wartość = -1, a nie zmienne wartości podanej w Edit
[j]musi działać
I działa, czemu nie działało chciałbym sam wiedzieć, przeanalizuje to zobaczę. Gdybym się przespał z problemem to być może tematu w ogóle by nie było, nadal stawiam na kompilator, bądź błędy spowodowane przeze mnie przy testowaniu....
Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota, choć nie jestem pewien co do tej pierwszej. - Albert Einstein
Błędów nie popełnia ten, kto nic nie robi. - Theodore Roosevelt