MozillaPL.org - polskie centrum Mozilli

Główne menu:

Eventy oraz wątki

Projektowanie aplikacji i rozszerzeń opartych na technologiach Mozilla Foundation: XUL, JavaScript, XPCOM, XBL i innych

Moderator: Pomocy?!

Eventy oraz wątki

Postautor: Piotr P » 29 sierpnia 2003, 15:03

Przeglądarka: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Witam

Mam 2 pytanka (prośby) z dziedziny programowania w XULu.

1. Czy jest mozliwosc zdefiniowana własnego nowego typu eventu ?
Chodzi mi tutaj o mozliwość przechwytywania własnoręcznie zdefiniowanego eventu w dowolnym obiekcie np. oknie.
Event taki tworzony byłby przez własny moduł xpcom.

2. Czy jest mozliwość stworzenia osobnego wątku działającego w rownolegle do głownego okna aplikacji ?

... a jezeli tak to jak
:)

Pozdrawiam
PiotrP
Piotr P
 

Postautor: Gandalf » 29 sierpnia 2003, 16:48

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030826 Mozilla Firebird/0.6.1+

Co do eventow - XBL sie tym zajmuje. Masz tez observery...

Co do punktu drugiego, nie wystarczy Ci otworzyc nowe okno?
Gandalf
 
Posty: 1802
Z nami od: 29 czerwca 2002, 04:37
Lokalizacja: Warszawa

Postautor: Gość » 29 sierpnia 2003, 17:03

Przeglądarka: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Gandalf pisze:Co do punktu drugiego, nie wystarczy Ci otworzyc nowe okno?


Otworzenie drugiego okna a nastepnie "uspienie" go
(np poprzez wywolanie metody sleep via xpcom)
powoduje ze glowne okno rowniez przestaje reagowac.
Dodatkowa objawa to myszka->klepsydra
:(

Nie wiem gdzie jest problem ale dzieje sie to na :
XP Profesional
Mozilla 1.4b - wlasnorecznie skompilowana
uruchamiam okienko xula z consoli

Dziekuje za pkt 1.
sprawdze czy to mi wystarczy
:)

PiotrP
Gość
 

Postautor: Gandalf » 29 sierpnia 2003, 17:10

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030826 Mozilla Firebird/0.6.1+

Najlepszym pomyslem bedzie spytanie na irc.mozilla.org #mozilla - w sprawie punktu drugiego.
Gandalf
 
Posty: 1802
Z nami od: 29 czerwca 2002, 04:37
Lokalizacja: Warszawa

Postautor: Piotr P » 29 sierpnia 2003, 17:23

Przeglądarka: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Juz wiem ze observery mi nic nie pomoga :(

Moze jasniej - opisze to co chce zrobic.

Mam modul xpcom implementujacy serwerowe polaczenie tcpip/ssl
w ktorym to mam nasluchujace gniazdko klienckie.
Problem mam w tym jak dowiedziec sie ze cos do gniazdka doszlo
z poziomu glownego okna aplikacji xul.

Perwszy pomysl byl taki by wyzwolic jakis event ktory dotrze do glownego okna.

Drugi, by otworzyc drugie okienko i czekac az cos przyjdzie do gniazdka - ale to objawia sie zawieszeniem glownego okna :(

Trzeci, ktory teraz mi przyszedl do glowy to cykliczne sprawdzanie czy czasem cos nie przyszlo.
Tylko pytanie jak cyklicznie cos wykonywac w glownym oknie ?

PiotrP
Piotr P
 

Postautor: Gość » 29 sierpnia 2003, 19:10

Przeglądarka: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Piotr P pisze:Trzeci, ktory teraz mi przyszedl do glowy to cykliczne sprawdzanie czy czasem cos nie przyszlo.
Tylko pytanie jak cyklicznie cos wykonywac w glownym oknie ?


Od razu dodam
ze setInterval dla czestotliwosci 1000 ms.
sie nie sprawdza - bardzo czasochlonne jest wywolanie dowolnej funkcji z modulu xpocom.
:(

Objaw jest taki sam jak dla pkt. 2.
:(

PiotrP
Gość
 

Postautor: GmbH » 29 sierpnia 2003, 19:40

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl-PL; rv:1.5b) Gecko/20030826

Piotr P pisze:Juz wiem ze observery mi nic nie pomoga :(

Mam modul xpcom implementujacy serwerowe polaczenie tcpip/ssl
w ktorym to mam nasluchujace gniazdko klienckie.
Problem mam w tym jak dowiedziec sie ze cos do gniazdka doszlo
z poziomu glownego okna aplikacji xul.


Hmmm.... No jak nie pomogą? W głównym oknie obserwujesz a w module XPCOM w funkcji obsługującej odebrane dane dajesz notifyObservers... Powinno działać.
GmbH
 
Posty: 825
Z nami od: 30 stycznia 2002, 22:38


Wróć do Programowanie z użyciem technologii Mozilli

Kto jest online

Zarejestrowani użytkownicy: Bing [Bot], Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: