On Error GoTo   otázka

VB6/VBA

Ahoj, potřeboval bych poradit za jakých okolností nezafunguje konstrukce On Error GoTo chybove_navesti ?

Pracuju s komponentou, ktera je programovaná na zakázku a v případě, že nejsou nainstalovány ovladače (chybí i příslušné .ocx) tak program spadne. On Error mám hned za definicí proměnných, ale vypadá to jakoby to VB úplně ignoroval. Je potřeba aby toto fungovalo podpora ze strany komponenty? Používám W7 32b.

předem děkuju za rady

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tohle neřešte v aplikaci, ale v instalátoru vaší aplikace

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nejde to řešit v instalátoru, příslušný .ocx je potřeba pro jedinou funkci v aplikaci a navíc je vázána na nějaký kus hardwaru. Kdo ho nebude mít tak mu prostě vyskočí chybová hláška...

Ošetřit se to dá samozřejmě v programu i jinak, ale zajímalo mě za jakých okolností nezafunguje On Error... ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Co je to za blbost?! Proč by to nešlo ošetřit v instalátoru? Právě instalátor řeší takové věci jako registrace COM komponent a různé další prerekvizity potřebné pro běh aplikace.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Důvod je přesně ten co jsem napsal v minulém příspěvku. Volitelná komponenta je součástí ovladačů k určitému hardwaru a ten si 90% uživatelů vůbec nebude pořizovat, takže většina uživatelů vůbec ovladač instalovat nebude = ovladač NENÍ součást instalačního balíčku. Komponenta je potřeba v jednom jediném okně. Pokud se někdo pokusí otevřít okno a nemá nainstalované ovladače, vyskočí mu chybová hláška. Toť vše.

Nevím co by se mělo ošetřovat v instalátoru? Jiná situace by samozřejmě byla kdyby bylo potřeba registrovat komponentu, kterou použijí všichni a bez který aplikace nepojede.

Samozřejmě, že se dá přítomnost ovladače testovat i jinak a to se i děje.

Zajímalo mě za jakých okolností nefunguje On Error... ? V případě, že detekce ovladače selže program příkaz úplně ignoruje a spadne...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vzít tu komponentu, včlenit ji do svého instalátoru a zařídit aby byla správně zaregistrována není žádný problém (pokud to výslovně nezakazuje licenční smlouva). On Error funguje v každém případě pokud je správně použito.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Komponentu určitě do instalátoru přidávat nebudu. Nejedná se jenom o jeden ocx soubor. Komponenta je dodávána s instalačním balíčkem od výrobce hardwaru, který navíc obsahuje spoustu podpůrných knihoven.

První důvod proč jí nezahrnovat do instalátoru je ten co jsi zmínil. Rozhodně si nejsem jistej jestli to povoluje licenční smlouva...

Druhej důvod je, že mi nepřijde normální aby si někdo instaloval ovladače k hardwaru, který nikdy mít nebude. To je jako bys programoval editor obrázku a do instalátoru zahrnul ovladače pro scanner protože z určitýho místa dovoluješ scanovat...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V tom případě se podívejte před použitím té komponenty, jestli je zaregistrovaná, a pokud ne, před prvním použitím spusťte "regsvr32 cesta_ke_knihovně".

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback