Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

Basic4ppc - Testování podmínky CheckBox.Checked = true/false

macula_ce4you (691)|21.2.2008 22:08
Ahoj, tak jsem tu zase s jedním stupidním dotazem. Bohužel nevím, jestli to dokážu pořádně popsat. Nějak jsem se na tom zasekl a nevím v čem může být problém.

1. v proceduře "A" testuji podmínku CheckBox4.Checked = false a poté proběhnou výpočty
2. v eventu ComboBox5_SelectionChanged volám proceduru "A", aby se při každé změně spustila
3. v proceduře "B" nastavuji CheckBox4.Checked = false a volám proceduru "A"
4. proběhne správný výpočet a při změně ComboBox5 probíhají výpočty také správně
5. v proceduře "C" nastavím CheckBox4.Checked = true a volám proceduru "A"
6. proběhne správný výpočet, ale při změně ComboBox5 se již hodnoty nemění

Ať na to koukám, jak na to koukám problém nikde nevidím. Díky za každé nakopnutí.
Díky.
RStein (2012)|21.2.2008 23:39
Z toho popisu zadny problem patrny neni. Vam se deregistruje odber udalosti SelectedIndexChanged? Pokud s nepletu, PPC kompiluje do CNF - kdyz chybu neodsranite, popisete mi kde je, mohu se na assembly podivat pres Reflector...
macula_ce4you (691)|22.2.2008 06:56
Ještě možná stojí za zmínku event CheckBox4_Click, kde se opět volá procedura "A".

Po spuštění programu je chyba nejlépe patrná přes menu Přidat - Jiný záznam. Doteď je vše v pořádku. Provedl se správný výpočet. Při otestování eventu CheckBox4_Click, také přepočty fungují a pokud není CheckBox4 zaškrtlý, fungují přepočty i při změně ComboBox5 (Pauza). Je li však zaškrtlý, tak již při změně ComboBox5 přepočty nefungují. V menu Přidat - Nový záznam je nastaveno CheckBox4.Checked = false a v dalších je nastaveno CheckBox4.Checked = true.

Za pomoc bych byl moc vděčný. Soubor je v příloze.
RStein (2012)|22.2.2008 20:18
Tak jsem se dival na assembly, bohuzel ppcbasic pravdepodobne aplikaci nejprve stlaci do nejakeho vlastniho formatu. takze je pres reflector kod necitelny.
Jedine, co jsem zjistil v reflectoru - v runtime prostredi jetrida CEnhancedCombobox, coz bude asi vase combox,! a ta dedi z vetsi casti jen ze standardniho comba CNF.
To znamena, ze pokud nemate chybu ve svem kodu (ten neznam), vypada to na chybu behoveho prostredi Basicu.
Jak jsem se dival na syntaxi Basicu - zkuste si jeste odber udalosti prihlasit rucnre pomoci AddEvent. Bohuzel basic pred vami skryva, ze se pouzivaji delegati a nedovoli vam se podivat na jejich de/registraci :(
macula_ce4you (691)|22.2.2008 20:51
Nevím jestli jsem to pochopil správně, ale takhle se to chová stejně:
[CODE]AddEvent ("ComboBox5", SelectionChanged, "ProceduraA")[/CODE]

Dříve jsem to řešil přes tlačítko "Přepočet" a fungovalo to. Asi se mi to tam s něčím tluče, protože když to zkusím znovu nasimulovat přes tlačítko, tak to již nejde. :(

Přesto dík za pomoc.
RStein (2012)|22.2.2008 20:58
Ano, myslel jsem opravdu AddEvent, jak jste napsal.
Bez znalosti kodu se bohuzel vic poradit neda. Kdyz budete chtit, zkuste sem dat nejaky kod.
macula_ce4you (691)|23.2.2008 18:24
JSEM FAKT KRETÉN. Prostě jsem tu hodnotu v té podmínce neměl zahrnutou ve vzorci pro výpočet. :oops: :dead:

Velice se Vám omlouvám za ztracený čas, věnovaný pouze mé hlouposti
RStein (2012)|24.2.2008 00:27
Nic si z toho nedelejte, selektivni vyvojarska slepota cas od casu postihne kazdeho :)