CYFROWY BARON • PROGRAMOWANIE • Zobacz wÄ…tek - Builder C++ / CSpinButton - dziwne zachowanie

Builder C++ / CSpinButton - dziwne zachowanie

dział ogólny

Builder C++ / CSpinButton - dziwne zachowanie

Nowy postprzez PL_Andrev » sobota, 17 grudnia 2016, 20:02

Witam,

Kopiąc w internecie za TUpDown natrafiłem na ten wątek z tego forum: http://programowanie.cal.pl/forum/viewtopic.php?f=5&t=80.
CyberBaron proponował użycie CSpinButton (zakładka Samples) zamiast TUpDown.

Problem jest taki (trudno go opisać):
Mam na jednej formatce kilka takich CSpinButtonów.
Wszystkie SpinButtony(1-9) odwołują się w zakładce Events (OnDownClick / OnUpClick) do SpinButtona1.
Nie jestem w stanie zmienić OnUpClick / OnDownClick na jakikolwiek inny - klikając np na SpinButton3 przekierowywuje mnie ponownie na zdarzenie dla SpinButton1.
Ręczne dopisanie instrukcji obsługi dla SpinButton3
KOD cpp:   •  UKRYJ  •
void __fastcall TWizzard_3_::CSpinButton3UpClick(TObject *Sender)

i przeklikanie Eventu OnDownClick / OnUpClick powoduje że wszystkie pozostałe SpinButtony "przekierowują się" na instrukcje dla SpinButton3...
Avatar użytkownika
PL_Andrev
Bladawiec
Bladawiec
 
Posty: 6
Dołączył(a): czwartek, 15 grudnia 2016, 21:46
PodziÄ™kowaÅ‚ : 2
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Win.10
Kompilator: Builder 6
Gadu Gadu: 0
    WindowsChrome

Re: Builder C++ / CSpinButton - dziwne zachowanie

Nowy postprzez Cyfrowy Baron » niedziela, 18 grudnia 2016, 10:53

Jeżeli podpiąłeś wszystkie obiekty pod zdarzenie tylko jednego, to jest oczywiste, że wywoływane jest tylko to jedno zdarzenie, bo taki właśnie jest sens podpinania wielu obiektów pod jedno zdarzenie. I nie ma znaczenia, czy jest to CSpeedButton czy inny obiekt, bo z każdym będzie to działać dokładnie tak samo i nie ma w tym niczego dziwnego.

Ręczne stworzenie funkcji zdarzenia dla innych obiektów nic nie da, a może prowadzić wręcz do błędów.

Dlaczego podpinasz wszystkie obiekty pod jedno zdarzenie, skoro potrzebujesz dla każdego obiektu oddzielnego zdarzenia? Stwórz dla każdego z obiektów oddzielne zdarzenie.

Podpinanie wszystkich obiektów pod jedno zdarzenie, jednego z obiektów ma sens tylko wtedy, gdy wszystkie mają wykonywać dokładnie to samo. Jeżeli zadanie wykonywane w jednym zdarzeniu są w jakiś sposób podobne do siebie można posłużyć się polimorfizmem. To jednak zależy od tego co chcemy zrobić w tym zdarzeniu.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Builder C++ / CSpinButton - dziwne zachowanie

Nowy postprzez PL_Andrev » niedziela, 18 grudnia 2016, 15:03

Ok, widzę swój błąd -> aby zainicjalizować odpowiednie zdarzenie trzeba dwukrotnie kliknąć na zakładki Up/Down w eventach CSpinu.
:shock:
Avatar użytkownika
PL_Andrev
Bladawiec
Bladawiec
 
Posty: 6
Dołączył(a): czwartek, 15 grudnia 2016, 21:46
PodziÄ™kowaÅ‚ : 2
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Win.10
Kompilator: Builder 6
Gadu Gadu: 0
    WindowsChrome


Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 17 gości

cron