Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wskaźnik na funkcję, przekazywanie funkcji przez argument

Ostatnio zmodyfikowano 2012-01-03 17:23
Autor Wiadomość
DejaVu
» 2012-01-03 17:00:11
Skoro chcesz coś takiego zrobić to znaczy, że masz złe podejście logiczne do problemu. Powinieneś wówczas zastosować klasy i dziedziczenie oraz metody wirtualne. Klasa bazowa powinna określać interfejs umożliwiający obsługę buttonów, natomiast klasy pochodne dać możliwość ich konfiguracji oraz implementować interfejs zapewniający obsługę klasy bazowej tak by funkcjonalność określona w klasie potomnej działała tak jak tego oczekujesz.
P-47142
wizardus
Temat założony przez niniejszego użytkownika
» 2012-01-03 17:05:32
@DejaVu

No to mniej więcej zrobiłem coś takiego, o ile dobrze rozumiem o czym mówisz. Zrobiłem jedną klasę bazową wykorzystującą metody wirtualne po której dziedziczą klasy potomne. Tylko, że z tego wynika, że dla każdego przycisku muszę tworzyć nową klasę potomną, tak ?
P-47147
pekfos
» 2012-01-03 17:07:25
Tak. Funkcje też byś musiał tworzyć dla każdego przycisku :P
P-47148
DejaVu
» 2012-01-03 17:08:10
Tylko, że z tego wynika, że dla każdego przycisku muszę tworzyć nową klasę potomną, tak ?
Dla każdego przycisku, który ma mieć inne funkcjonalności niż obecnie istniejące klasy przycisków będziesz musiał stworzyć nową klasę (oczywiste), ale przecież z jednej klasy można stworzyć nawet milion przycisków o takiej samej funkcjonalności ale innej konfiguracji.
P-47149
wizardus
Temat założony przez niniejszego użytkownika
» 2012-01-03 17:12:05
@DejaVu

No to rozumiem, konstruktor wygląda praktycznie tak samo, większość metod też, tylko każdy przycisk ma swoją definicję metody OnClick. Hmmm... No i tak mam to zrobione na chwilę obecną. To jeszcze tylko muszę to jakoś zorganizować bo mam straszny bajzel w nagłówku.

@pefkos

W sumie masz rację :] ale mniej pisania troche i mniej klas. Jak mam 30 przycisków o różnych funkcjonalnościach to 30 różnych klas :) No ale nic to :)

Dzięki wielkie wszystkim. Zamykam.
P-47151
DejaVu
» 2012-01-03 17:18:06
Pozwolę sobie jeszcze wtrącić: dla przypadku opisanego w ostatnim poście, biblioteka FastDelegate może być tym czego szukasz :)
P-47152
wizardus
Temat założony przez niniejszego użytkownika
» 2012-01-03 17:23:19
@DejaVu

Hmmm :) Na pewno spojrzę :) To może jeszcze zostawię wątek otwarty, może ktoś coś dopisze :)

Pozdrawiam :)
P-47153
1 « 2 »
Poprzednia strona Strona 2 z 2