Přihlášení k odběru události – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Přihlášení k odběru události – .NET – Fórum – Programujte.comPřihlášení k odběru události – .NET – Fórum – Programujte.com

 

paashi0
Super člen
24. 10. 2007   #1
-
0
-

Celkem jasně vypadající nadpis s jasnou odpovědí skrývá jednu záludnost. Vím, že k odběru události přihlásím handler pomocí (odpusťte syntaxi CLR/C++)



this->timer1->tick += gcnew System::EventHandler(this, &Form1::MyEventHandler);

Odhlášení události se provede jednoduše stejným systémem


this->timer1->tick -= gcnew System::EventHandler(this, &Form1::MyEventHandler);

V případě, že na stejnou událost mám reagovat buď jedním a nebo druhým handlerem, dejme tomu:


if(comboBox1->Checked)
this->timer1->tick += gcnew System::EventHandler(this, &Form1::MyEventHandler);
else
this->timer1->tick += gcnew System::EventHandler(this, &Form1::MySecondEventHandler);

pokud se tato záležitost uděje jen jednou, je to v pořádku, ale v případě odhlášení a opětovného přihlášení mi to začne dělat bordel


if(comboBox1->Checked)
this->timer1->tick -= gcnew System::EventHandler(this, &Form1::MySecondEventHandler);
this->timer1->tick += gcnew System::EventHandler(this, &Form1::MyEventHandler);
else
this->timer1->tick -= gcnew System::EventHandler(this, &Form1::MyEventHandler);
this->timer1->tick += gcnew System::EventHandler(this, &Form1::MySecondEventHandler);

Nevěděl by někdo, jak provést bezpečně změnu z posledního příkladu? Našel jsem nějaké vlastnosti události, ale kompilátor mi k nim nepovolí přístup. Nebo otázka jiná: je někde v události uvedeno, s čím nebo s kolika handlery je svázaná?
Díky

Nahlásit jako SPAM
IP: 158.193.216.–
Ajem tíčr, andrgraund tíčr!
DeaLer+2
Hero
27. 10. 2007   #2
-
0
-

Ahoj,
můžeš blíž popsat, jakej to začne dělat bordel? Mě funguje všechno bez problémů (alespoň jsem si ničeho nevšim).

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
paashi0
Super člen
30. 10. 2007   #3
-
0
-

Už jsem to vyřešil. Problém byl opět v přihlašování a odhlašování události z jiného vlákna. Bordel to dělalo tak, že se jedna událost přihlásila vícekrát, ale neodhlašovala se (při odhlašování z jiného trheadu). Já snad u toho sériového portu zestárnu...

Nahlásit jako SPAM
IP: 158.193.216.–
Ajem tíčr, andrgraund tíčr!
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Prihlaseni — založil Misiak

Přihlášení — založil Zelenáč

Přihlášení — založil petr143

Prihlaseni/Odhlaseni z PC — založil rybar73

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý