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í.