Vítejte !   Přihlášení | Registrace
Hlavní menu
CATIA fórum.cz
Novinky
Seriál CATIA
Obecně o CAD
Novinky ze světa DS
Makra pro CATIA V5
Diskuse
Vytvořit téma
Koncepty
Seznam oblíbených
Soukromé zprávy
Pravidla
Live CHAT
VIP žádost
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Nápověda

Sketch / Unable to cast COM

Kompletní přehled příspěvků v tématu Sketch / Unable to cast COM řazený podle data jejich publikace na fóru.

UživatelPříspěvek
Pavel Krsek

Poslat zprávu | Profil
Datum: 18.12. 2019 | Zobrazeno: 234x
Konfigurace CATIA: V5-6R2018

Text dotazu:
Dobrý den,
mám prosím dotaz ohledně chyby v kódu. Mám makro, které používáme už hodně dlouho. Nyní při přechodu na release 2018 se někdy objeví chybové hlášení u daného řádku:

Dim oSketch As Sketch = oPart.FindObjectByName(oSketchName)


sketch je mecmod.sketch

Hláška: System.InvalidCastException: 'Unable to cast COM object of type 'System.__ComObject' to interface type 'MECMOD.Sketch'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{EE3021B2-3B09-11D1-A26C-0000F87546FD}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).'

Nechápu proč chvilku to funguje správně a pak zase daná chyba. Má někdo nápad.



Ing Jan Cinert

Poslat zprávu | Profil
[#6756] | Publikováno: 18.12. 2019 - 09:38
Dobrý den,

používáte správné knihovny vzhledem k release Catie? Tohle je typická hláška, když se to nepotká.

Nevím z jakého release přecházíte na R28, ale může to být tím. Jinak by to znamenalo, že se do typy Sketch snažíte narvat jiný typ (což by se teoreticky mohlo stát, pokud by se použitý název objevil v modelu vícekrát).
Pavel Krsek

Poslat zprávu | Profil
[#6757] | Publikováno: 18.12. 2019 - 09:48
Dobrý den,
děkuji za rychlou reakci. Abych se přiznal, tak s těmi knihovnami celkem bojuji tj. ani nevím jak poznat, jaké knihovny aktuálně aplikace používá.
Měli jsme R2016 tzn. ve windows byly zaregistrovány tyto knihovny. Pak se doinstalovala R2018 tj. ve windows jsou nové tyto knihovny.
Při vytváření aplikace např. v R2016 se aktuální knihovny nakopírují do ....\obj\Debug\. Jak se vlastně správně překompiluje pak aplikace na nový release? To stačí otevřít danou aplikace ve VS a pak spustit znovu Build Solutions?
Pavel Krsek

Poslat zprávu | Profil
[#6758] | Publikováno: 18.12. 2019 - 09:50
.. ještě náhled na references k dané aplikaci.

Přiložené obrázky:

Ing Jan Cinert

Poslat zprávu | Profil
[#6761] | Publikováno: 18.12. 2019 - 11:02
Tohle je celkem téma...

Pokud budete používat COM reference, chce to po instalaci nejdříve přeregistrovat novější release (/unregserver na předchozí, /regserver na nový), a ve Visual studiu odebrat staré reference a vytvořit je znovu. Pak by to mělo fungovat.
Já ale i tak čas od času narážel na chyby, tak to teď dělám jinak.

Mám vytvořený jeden samostatný projekt, úplně prázdný, bez jakéhokoliv kódu, a v něm si vždy způsobem popsaným výše natahám všechny myslitelné COM reference (je jich ca 15, jen ty nejpoužívanější). Projekt buildnu, a uložím si vytvořené interopp dll do specifické složky (pro jednotlivé release).
U nových projektů či rekompilací pak používám tyhle knihovny, které už natahuju jako .NET (jsou to jen obálky s objektovou strukturou). Zatím vždy funkčnost na 100%.

Nedávno jsem to samé řešil s někým jiným, ten samý problém. Poskytl jsem svoje dll a úspěch se dostavil, tak to samé doporučuju i Vám. Knihovny v příloze - stačí je přidat jako typ NET a mělo by to fungovat - samozřejmě jen pro R28.

Přiložené soubory:
R28SP3HF13_dll.ZIP

Přiložené obrázky:

Pavel Krsek

Poslat zprávu | Profil
[#6763] | Publikováno: 18.12. 2019 - 11:07
Děkuji moc. Určitě to vyzkouším.
Jen si nejsem jistý, že to pomůže na můj problém. Pokud by chyby u řádku se sketch vyskočila pokaždé, tak bych tomu rozumněl, ale pokud to několikrát projde a pak zase ne, tak nevím.
Pavel Krsek

Poslat zprávu | Profil
[#6764] | Publikováno: 18.12. 2019 - 13:30
Ještě bych se prosím zeptal. Víte, jak se nechá poznat ve windows jaké jsou aktuálně zaregistrované knihovny - tím myslím, pro jaký release Catia?
A druhý dotaz - myslíte, že pokud použiji Vaše knihovny, ale my máme R28SP4 tak může být problém?

Děkuji.


Uživatel nepřihlášen

Pro zobrazení obsahu stránky / provedení akce (vytvoření nového téma, napsání odpovědi do diskuse apod.) musíte být přihlášeni.