 Posledná zmena | 2003-05-23 23:13:53 | Počet zobrazení | 1972 | Hodnotenie | 472 / 219 | Príspevkov v diskusii | 1 |
Autor: Ján Krnáč, ÚZIŠ Bratislava
...pozor na premenné (alebo pohľad na možné problémy prevažnevážne)
Ak ste sa odhodlali vyskúšať skiny určené
pre Visual FoxPro, možno ste sa potýkali s prekážkami ako ich sfunkčniť vo
Vašich aplikáciach. Rozhodne si však takýmito úpravami zatraktívnite Vaše
aplikácie. Ale čo robiť v prípade, keď po ich nasadení sa Vaša aplikácia
nie a nie 'umravniť' ?
Príčin môže byť niekoľko. Pri ich
diagnostikovaní sa mi osvedčilo niekoľko pomôcok.
- Používajte tzv. 'Error handle'. V praxi to nie je nič iné, ako
procedúra (funkcia) volaná cez ON ERROR napr.
ON ERROR DO
ErrHand
WITH ERROR( ),
PROGRAM( ),
MESSAGE(1),
LINENO( )
ktorá
Vám v prípade výskytu konfliktu zobrazí chybové hlásenie s číslom,
popisom chyby, popisom procedúry a číslom riadku, v ktorom tento konflikt
nastal.
- Presne si poznamenajte, v ktorej procedúre chyba nastala vrátane
čísla riadku.
- Otvorte si knižnicu vfp-skin2.vcx
na editovanie a pohľadajte v nej predmetnú procedúru (metódu). Cez menu
VFP si zvoľte položku 'Edit -> Go to Line...'(ísť na číslo
riadku) a zapíšte do poľa číslo riadku zobrazeného v chybovom hlásení. VFP
Vám po odkvitovaní presunie kurzor na tento riadok.
- Pozorne si skontrolujte nielen spomenutý riadok, ale aj možné
súvislosti. Ak sa v uvedenom riadku nachádza nejaká premenná,
pravdepodobne autor skinov 'trafil' Vašu premennú, ktorú budete mať napr. iného
dátového typu. Horšie sa diagnostikujú stavy, keď síce autor 'trafil' Vašu
premennú, ale obe sú rovnakého dátového typu...
- Skúste premennú v procedúre vizuálnej knižnice skinov zmeniť na
nejakú inú. Napr. premennú
i1
na i1_.
Opäť musíte najprv skontrolovať, či už autor takúto premennú nepoužil
v iných procedúrach (metódach) alebo funkciách tejto triedy.
- Ak je 'vzduch čistý' zmeňte túto premennú v celej procedúre
(metóde) – pozor na podobné premenné, ktoré sa od seba odlišujú iba jediným
znakom napr.
i1
a _i1. Už počas
nahradzovania musíte toto pozorne sledovať. Mne sa vyplatilo pred každou jednou
nájdenou premennou sa rozhodnúť, či ju nahradiť alebo nájsť ďalšiu. Funkcia
automatického nahradzovania vo VFP totiž už pri malom opomenutí napácha
trmu-vrmu.
- O Vašich problémoch a prípadných zásahoch je pochopiteľne vhodné
informovať aj samotného autora. Možno v nasledujúcej verzii zvolí nejaké
iné a menej bežné úpravy svojich premenných.
Vloženie triedy VFP skinov do formulára.
Iste Vás už
napadlo, že keď môžete meniť veľkosť rámčeka tejto triedy, či to nebude mať
nejaký dopad na chovanie sa samotných formulárov a skinov. Neviem či to bol
autorov zmysel pre humor, ale jednoznačne medziiným napísal, že rozmery rámčeka
vloženej triedy musia mať defaultné hodnoty. Toto je údajne veľmi dôležité.
Možno to urobiť dvojako:
- kliknite myšou na triedu
v nástrojovej lište VFP a pokračujte jednoduchým kliknutím na pozíciu
blízku hornému ľavému rohu vo Vašom formulári. VFP tam umiestni túto triedu.
Defaultné hodnoty pozície nastavíte v okne 'Properties' (vlastnosti) pravým
tlačidlom myši.
- kliknite myšou na triedu
v nástrojovej lište VFP. Myšou na formulári vyznačíte akýsi rámček, do
ktorého VFP umiestni spomenutú triedu. S najväčšou pravdepodobnosťou bude
veľkosť rámčeka odlišná od defaultných hodnôt. V okne „Properties“
(vlastnosti) pravým tlačidlom myši nastavte šírku, výsku a pozície rámčeka na
defaultné hodnoty.
Overil som si
tieto tvrdenia. Zistil som, že ak veľkosť rámčeka vloženej triedy má inú ako
defaultnú veľkosť, formulár síce ide spustiť, ale predtým zahlási chybu
o nenájdenom konfiguračnom súbore. Po zobrazení (so skinom) však
nereagovali ovládacie prvky formulára. Po nastavení rámčeka triedy vfp-skin2 na defaultné hodnoty podivné chovanie
prestalo.
Ak uvedené postupy
'zabrali', znamená to, že môžete s úspechom nasadiť VFP skiny do Vašej
aplikácie a sám autor Vám možno (počas komunikácie s ním) na to odpíše:
'I’m happy :-))).' a na koniec pripojí jeden
lišiacky obrázok :

Naspäť |