Chyba 70 v době spuštění v VB6: Oprávnění bylo odepřeno
Definice
Chyba 70 v době spuštění je problém zabezpečení nebo oprávnění. Samotná zpráva je jednou z nejzákladnějších chybových zpráv, které uživatel může zobrazit při spuštění programu, neboť jedinou zprávou, kterou obdrží, je "Oprávnění odepřeno". Tato chyba může být obtížně diagnostikována, zejména u velkých programů, které mají mnoho komponent, které běží současně. Samotná zpráva znamená, že program nemá oprávnění správně používat funkci, která není integrovaná do programu.
Příčiny
Tato chyba obvykle nastane, když se program pokusí přistupovat k souborům nebo nástrojům, které nemají příslušná oprávnění, jako je například psaní chráněných dokumentů nebo softwarových komponent objektového a komponentního modelu. Existuje však mnoho dalších situací, ve kterých může dojít k chybě, z nichž mnohé se vztahují k objektům COM a DCOM, například pokud mají tyto možnosti zakázané, používají je pro přístup k doménám, které nejsou důvěryhodné, nebo pokud jedna z nich způsobuje událost, kterou by váš program měl zvládnout.
Rozlišení
Mnohokrát se dozvíte o chybách při spuštění po jejich představení. Protože je tato chyba zpravidla způsobena nedostatečným přístupem k souborům, které jsou mimo program, potřebujete vědět, jaké funkce nebo součásti programu nedokáží přistupovat k těmto zdrojům, a proto způsobují problémy. To vám pomůže určit, které prostředky jsou zablokovány, abyste mohli diagnostikovat a vyřešit problém. V mnoha případech můžete chybu opravit tak, že uživatelům získáte přístup k nástrojům, jako je například aplikace serveru DCOM nebo server Microsoft Transaction.
Prevence
Při návrhu programu Visual Basic 6 můžete napsat kód zachytit a kontrolovat runtime chybu 70. Při psaní kódu, který by mohl vést k této chybě (nebo jiné), použijte příkaz jazyka "On Error". Když se program pokusí chybu vyhodit, kód ovladače chyby ji zachycuje, což vám umožní rozhodnout, jak chcete, aby váš program reagoval. Příkladem je informovat uživatele o tom, co se stalo špatně, nebo nechat program pokračovat bez zastavení.