Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Nowa podkategoria na forum  (Przeczytany 830 razy)

zombie82

  • Gość
Nowa podkategoria na forum
« dnia: 2006-02-18, 17:07:03 »
Witam!
Zwacam sie do prosba osób, ktore mialy styczność z programowaniem z uzyciem biblioteki GTK+.Pisząc programie natrafilem na problem, którego nie jestem w stanie rozwiązać.
Problem polega na tym, że po wywołaniu funkcji gtk_main() program obsługuje zdarzenia i czeka na wywołanie funkcji gtk_main_quit() i w tym czasie nie moge robic innych czynności w programie, a ja w tym czasie chciałbym odbierać w nieskończonej pętli i wpisywać tekst do komponentu tekstowego. Jeżeli uruchomiona jest gtk_main() to blokuje wszystko i jedynie moge obsługiwać zdarzenia.Z kolei jak nie uruchomione jest gtk_main() to nie moge obsłuzyc zdarzen?? Ktos zna jakies rozwiazanie tego problemu.
PS: Nie chce odbieranie danych wiązać z jakims przyciskiem.
Z góry dziekuje za kazdą pomoc

difrost

  • Gość
Nowa podkategoria na forum
« Odpowiedź #1 dnia: 2006-02-18, 18:31:17 »
2006-02-18 17:07:03 zombie82 napisał:

> Witam!
 > Zwacam sie do prosba osób, ktore mialy styczność z programowaniem z uzyciem biblioteki
 > GTK+.Pisząc programie natrafilem na problem, którego nie jestem w stanie rozwiązać.
 > Problem polega na tym, że po wywołaniu funkcji gtk_main() program obsługuje zdarzenia i czeka
 > na wywołanie funkcji gtk_main_quit() i w tym czasie nie moge robic innych czynności w
 > programie, a ja w tym czasie chciałbym odbierać w nieskończonej pętli i wpisywać tekst do
 > komponentu tekstowego. Jeżeli uruchomiona jest gtk_main() to blokuje wszystko i jedynie moge
 > obsługiwać zdarzenia.Z kolei jak nie uruchomione jest gtk_main() to nie moge obsłuzyc zdarzen??
 > Ktos zna jakies rozwiazanie tego problemu.
 > PS: Nie chce odbieranie danych wiązać z jakims przyciskiem.
 > Z góry dziekuje za kazdą pomoc


Witam

Przed rozpoczeciem gtk_main() tworz nowy watek, ktory bedzie obslugiwal tekst + ustaw mo odpowiedni detach state.

POZDRAWIAM

zombie82

  • Gość
Nowa podkategoria na forum
« Odpowiedź #2 dnia: 2006-02-18, 19:23:10 »
Dzieki Difrost za odpowiedź. Sorki, ale za bardzo nie wiem jak mógłbym to zrobić. Czy mógłbyś na prostym fragmencie programu podać jakieś przykładowe rozwiązanie. Z góry Ci dziekuje.

difrost

  • Gość
Nowa podkategoria na forum
« Odpowiedź #3 dnia: 2006-02-18, 20:02:33 »
2006-02-18 19:23:10 zombie82 napisał:

> Dzieki Difrost za odpowiedź. Sorki, ale za bardzo nie wiem jak mógłbym to zrobić. Czy mógłbyś na
 > prostym fragmencie programu podać jakieś przykładowe rozwiązanie. Z góry Ci dziekuje.


  pthread_t thread_id;

  pthread_create(&thread_id,NULL,&particleThread,NULL);
 
  gtk_main()


  pthread_cancel(thread_id);
  pthread_join(thread_id,NULL);
  return 0;

zombie82

  • Gość
Nowa podkategoria na forum
« Odpowiedź #4 dnia: 2006-02-18, 20:46:50 »
Jeszcze raz wielkie dzieki za tak szybko odpowiedź. Mam jeszcze jedną wielką prosbe czy mógłbyś przybliżyć działanie opisanych funkcji i parametrów. Bo rozumiem to tak, ze tworzony jest nowy wątek identyfikowany przez zmienna pthread i ten wątek bedzie się wykonywał niezależnie od uruchomienia funkcji gtk_main(). Ale teraz nie wiem gdzie mam umieścic poszczególne funkcje.Po uruchomieniu funkcji gtk_main() beda w programie przetwarzane zdarzenia, więc jak mam teraz czytac i wpisywać dane do komponentu tekstowego ?.Czy moga w atku uruchomić bez przeszkód kolejny raz funkcje gtk_main() ?? Z góry dziekuje za odpowiedz i pozdrawiam

difrost

  • Gość
Nowa podkategoria na forum
« Odpowiedź #5 dnia: 2006-02-18, 21:28:17 »
2006-02-18 20:46:50 zombie82 napisał:

> Jeszcze raz wielkie dzieki za tak szybko odpowiedź. Mam jeszcze jedną wielką prosbe czy mógłbyś
 > przybliżyć działanie opisanych funkcji i parametrów. Bo rozumiem to tak, ze tworzony jest nowy
 > wątek identyfikowany przez zmienna pthread i ten wątek bedzie się wykonywał niezależnie od
 > uruchomienia funkcji gtk_main(). Ale teraz nie wiem gdzie mam umieścic poszczególne funkcje.Po
 > uruchomieniu funkcji gtk_main() beda w programie przetwarzane zdarzenia, więc jak mam teraz
 > czytac i wpisywać dane do komponentu tekstowego ?.Czy moga w atku uruchomić bez przeszkód
 > kolejny raz funkcje gtk_main() ?? Z góry dziekuje za odpowiedz i pozdrawiam


Hmmm... apropos pthread , itp.
http://linux.gery.pl/dzialy/programowanie/wstep/process
http://loqi01.eti.pg.gda.pl/pracownicy/macpi/info/SOLab/Linux-zarzadzanieprocesami.htm

i 873568355 podobnych stron!

zombie82

  • Gość
Nowa podkategoria na forum
« Odpowiedź #6 dnia: 2006-02-19, 00:11:17 »
Wiem, że czasami niektóre pytania dla doświadczonych programistów i uzytkowników linuxa okazuja się denerwujące oraz to, że tematy już gdzieś były przerabiane,ale prosze o wyrozumiałoś w końcu to jest forum #newbie, a taki własnie jestem :( W każdym razie dzieki za linki wiem juz w jakim kierunku mam podążać,a by rozwiązać ten nie lada dla mnie problem.

tomek14

  • Gość
Nowa podkategoria na forum
« Odpowiedź #7 dnia: 2006-03-02, 23:54:59 »
Witam!

(Wiem, ze to troche nie elegancko, ale inaczej sie nie da)

Wyslij mi wiadomosc na maila: tomcio-j@o2.pl to podesle ci troche materialow na temat programowania wielowatkowego. Ale ostrzegam, ze zanim zabierzesz sie do programowania wielowatkowego powinienes dobrze opanowac programwanie jednowatkowe ;-) (mowie z wlasnego doswiadczenia)

zombie82

  • Gość
Nowa podkategoria na forum
« Odpowiedź #8 dnia: 2006-03-13, 19:27:56 »
Za pomocą wątków udało mi sie rozwiąc opisywany problem.Dzieki za cenne wskazówli

etilen

  • Gość
Nowa podkategoria na forum
« Odpowiedź #9 dnia: 2006-03-29, 10:40:04 »
Witam
Mam pytanko. Czy nie dało by się tego zrobic prosciej podpinając się pod odpowiedni sygnał pola tekstowego?
Np \\"active\\" czy \\"changed\\"

Pozdrawiam

qlmo

  • Gość
Nowa podkategoria na forum
« Odpowiedź #10 dnia: 2006-02-18, 12:50:14 »
Witam!
Uwazam ze na forum w dziale Programowanie powino pojawic sie podkategoria projekty gdzie bedzie mozna pokazc/pochwalic sie swoim projektem a, takze znalesc jakis ciekawy programik dla siebie.