Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 3.522 pregleda

Najnovija ↓

Kako da realizujem Event klasu? 15.07.2006. u 17:05 · pre 247 meseci #1
Ideja do koje sam dosao je sledeca: Moja glavna klasa koja sadrzi/poziva ostale klase sadrzi i Event klasu. Kada neki objekat hoce da digne Event, on pozove funkciju Event klase, kojoj prosledi naziv event-a i sopstvenu adresu (da bi kasnije objekat koji reaguje na event mogao da koristi podatke objekta koji ga je aktivirao).

E sad mi kao problem ostaje reagovanje na event. Npr. hocu da se neka funkcija OnMyEvent izvrsi kad se digne dogadjaj MyEvent. Pitanje je: kako da moja Event klasa zna da treba da izvrsi tu funkciju?

Da li mozda da pozovem neki metod klase, tipa RegisterFunctionForEvent, kome bih prosledio naziv eventa i referencu ka funkciji koju zelim da klasa pozove? Ali, to je dinamicko resenje. A staticko?

Hvala.
Potpis
Pera električar 0637129710, BG, preporučujem.
Re: Kako da realizujem Event klasu? 16.07.2006. u 17:16 · pre 247 meseci #2
Ja sam to resio (u C++) pomocu delegata. Prvo definisem event:
Code:

class MyClass
{
public:
...
// event sa 2 parametra. Pozivace se func tipa
// bool funcname(int, float);
CppEvent2<bool, int, float> eventFoo;

//event sa 3 parametra
//CppEvent3<bool, int, float, const char*> eventFoo3;

void SomeMethod()
{
 eventFoo.Execute( intVal, floatVal);
}
}

MyClass X;

class MyClassB
{
public:
void MyClassB()
{
  X.eventFoo.Add(this, &MyClass::OnFoo);
}

void OnFoo(int a, float b)
{
 // uradi nesto sa a i b
}
}



Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme