Diskuse k článku Programujeme v .NET
Uživatel | Příspěvek |
Josef Landa ![]() ![]() Poslat zprávu | Profil |
Datum:
5.11. 2013
| Zobrazeno:
13478x Konfigurace CATIA: V5R20 Text dotazu: |
Josef Landa ![]() ![]() Poslat zprávu | Profil |
[#4232]
| Publikováno:
05.11. 2013 - 10:08 oprava kodu:
Dim CATIA As Application musí být asi v odstavci s: Public Class Form1 |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#4233]
| Publikováno:
05.11. 2013 - 10:44 Dobrý den,
VS kontroluje chyby (syntaxe, reference,...), zobrazuje je v seznamu a hlavně je podtrhává. Máte všechno dobře? Ta první chyba s deklarací proměnné mimo třídu musela být označená... Hláška ukazuje na chybějící COM referenci. Jakou máte verzi Catia? R20? |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#4235]
| Publikováno:
05.11. 2013 - 10:54 Nebo si zkuste pro jistotu přeregistrovat Catii. Do instalačního adresáře .../code/bin a spustit cnext.exe /regserver . |
Josef Landa ![]() ![]() Poslat zprávu | Profil |
[#4239]
| Publikováno:
05.11. 2013 - 11:39 Používám V5R20
V obrázku v příloze je vidět, že kod nepodtrhává chyby a když začnu psát např. kod: Dim CATIA As INFITF. tak normálně našeptává => Application, AnyObject atd. Tu chybu s deklarací podtrhl, proto sem jí také dodatečně opravil. |
Josef Landa ![]() ![]() Poslat zprávu | Profil |
[#4240]
| Publikováno:
05.11. 2013 - 11:58 Tak sem to vyřešil nasledovně:
Odebral sem COM referenci CATIA V5 InfInterfaces Object Library a nalinkoval sem referenci přes Browse... na Interop.INFITF.dll, který mám u dodaných programů od firmy, která je pro nás dělala. Teď už to funguje... |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#4241]
| Publikováno:
05.11. 2013 - 11:59 Já tedy nic nevidím... Dokud našeptává, tak nebere jako chybu. Když napíšete nějakou evidentní blbost, tak to musí podtrhnout a v Error listu napíše v čem je problém.
Může být problém v nějakém defaultním nastavením VS 2013 oproti VS 2008. Já jedu na 2008, nevím co může být jinak nastavené. Jinak pokud použijete deklaraci Imports nemáte další typ se stejným názvem (např. Excel apod), už není třeba deklarovat typ proměnné přes Namespace, tj. stačí například jen Dim CATIA As Application |
Josef Landa ![]() ![]() Poslat zprávu | Profil |
[#4242]
| Publikováno:
05.11. 2013 - 12:17 Nevím jak je to možné, ale po přidání COM referencí mi to nakopírovalo do:
C:\Users\lnj\Documents\Visual Studio 2013\Projects\WindowsApplication2\WindowsApplication2\obj\Debug => Interop.INFITF.dll který měl velikost 165KB a když sem ho přepsal tím co sem měl u jiného programu velikost 172KB, tak to už funguje vpořádku. Nejhorší na tom je to, že když založím nový projekt a znou přidám COM referene tak mi to zas přidá špatný, nebo poškozený Interop.INFITF.dll o velikosti 165KB. Jde to nějak opravit? |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#4243]
| Publikováno:
05.11. 2013 - 13:23 Interop dll knihovny si vytváří VS samo podle aktuálně registrované Catie. Pokud jich máte instalováno víc, tak je vždy ta poslední instalovaná. Přeregistrace se provede postupem, který jsem popsal výše. Správně by se ještě měla odregistrovat ta stávající, a pak teprve registrovat ta požadovaná. Pokud to neuděláte, Catie si vždy natáhne registrovanou verzi - to se děje u Vás.
Je evidentní, že soubor který si berete z jiného projektu, je vytvořený z jiné verze než máte k dispozici. Já kompiluju pro R19, na vyšších releasech to zatím vždy (snad na jedinou výjimku) fungovalo bez problémů. Samozřejmě by to mělo být tak, že by makro mělo být zkompilované na ten release, na kterém má běžet. |
Josef Landa ![]() ![]() Poslat zprávu | Profil |
[#4620]
| Publikováno:
29.06. 2014 - 10:24 Dobrý den,
mám macro, které mi funguje ve vba a po vložení do vb.net a upravení se nemohu zbavit dvou chyb. Formulář sem přejmenoval na UserForm1 A TreeView1 na Tree Chyby jsou v těchto řádkách: ByRef Tree As Treeview tvwChild
Chyby jsou také v přiloženém obrázku Můžete mi prosím poradit? 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.