Zobrazit plnou verzi příspěvku: CHYBOVÉ HLÁŠENÍ - NEZOBRAZIT

Lukáš Záruba
10.01.2019, 15:39
Je možné připsat samostatný řádek do pravidla který by potlačil chybové zobrazení chybové které je nutné odkliknout přes ok?Něco jako : Jestli se něco nepovedlo tak si to radši nech pro sebe :)

Vladimír Michl
10.01.2019, 15:52
Hlášení pravidla nebo Inventoru? Máte nějaký příklad?Chybové hlášení pravidla lze potlačit konstrukcí try/catch (viz starší příklady v tomto fóru).

Lukáš Záruba
10.01.2019, 16:08
je to chybové hlášení pravidla. Toto pravidlo zajistí správné zazoomování při uložení dílu. Bohužel jsem ho měl dříve ovládané taky i otevřením dílu. Problém nastává když při otevření výkresu nebo sestavy kdy vyskočí chybová hláška u každého dílu, která vyžaduje kliknutí na OK. Musím podržet enter abych všechny odkliknul.Pravidlo:iLogicVb.UpdateWhenDone = True  ThisApplication .ActiveView.FitChybová hláška:

Vladimír Michl
10.01.2019, 17:53
Jsou dvě možnosti - buď nejprve zkontrolovat typ dokumentu a pokračovat jen je-li to součást, anebo uzavřít ty potenciálně chybující funkce do bloku try/catch a ošetřit tak případnou chybu před jejím vyhlášením.

Lukáš Záruba
10.01.2019, 18:50
OK, jak se to dá napsat aby to fungovalo?

Vladimír Michl
10.01.2019, 19:42
Fungovat budou obě cesty. Čistší je asi ta první, ale bez znalosti vašeho kódu nelze konkrétně poradit. Pokud ta chyba hrozí jen u oněch dvou příkazů, mělo by stačit je změnit na:[CODE]Try  iLogicVb.UpdateWhenDone = True   ThisApplication.ActiveView.Fit CatchEnd Try[/CODE]
Vladimír Michl2019-01-11 09:37:13

Lukáš Záruba
11.01.2019, 08:39
Celé pravidlo jsou jen tyto 2 řádky:iLogicVb.UpdateWhenDone = True

ThisApplication .ActiveView.Fitnic jiného

Vladimír Michl
11.01.2019, 09:38

Aha, pak by měl stačit ten výše uvedený Try/Catch (Catch může být v tomto případě prázdný).

Navara
11.01.2019, 10:11

Čistší je před voláním pravidla ošetřit kdy ho volat a v samotném pravidle nedopustit NullReferenceException.ThisApplication by null být nemělo, takže If ThisApplication.ActiveView Is Nothing Then ReturnEnd If ThisApplication.ActiveView.Fit()

Lukáš Záruba
11.01.2019, 10:32
Ok, děkuji pánové za rady.Napsal jsem to nakonec takto  a vypadá to že to funguje.:iLogicVb.UpdateWhenDone = True
If ThisApplication.ActiveView Is Nothing Then
Return
End If
Try
ThisApplication.ActiveView.Fit()
Catch
End Try