Problémy s hotovou aplikáciou   zodpovězená otázka

VB.NET, Komponenty, WinForms

Zdravím všetkých.

Chcel by som sa spýtať, či mi niekto mohol odpovedať na moje otázky. Vo VB.NET2005 som vytvoril pomerne rozsiahlu aplikáciu na hydrologické modelovanie. V rámci tohto projektu som použil na grafické vyjadrenie výsledkov ovládací prvok "Microsoft Chart Control v.6". A mám s ním niekoľko problémov.

1. Ak program spúšťam na inom počítači (určite má nainštalovaný VB.NET 2 framework) vybehne mi hlásenie, že nastala chyba – bez popisu. Zistil som, že počítač nemá v sebe nainštalovaný ten ovládací prvok na tvorbu grafov. Ako mám riešiť túto situáciu, pretože keď som kedysi používal VB6 tak stačilo tento prvok umiestniť do adresára, kde je uložený program a fungovalo to. Toto ale nefunguje pri VB.NET 2005.

2. Tuto otázku som tu už kedysi položil, ale nikto mi neodpovedal, a mne sa doteraz nepodarilo vyriešiť tento problém. Občas je potrebné zmeniť Y-novú os z lineárnej na logaritmickú. Vtedy používam tento kód:

Me.AxMSChart2.Plot.Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY).AxisScale.LogBase = 10   Me.AxMSChart2.Plot.Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY).AxisScale.type = MSChart20Lib.VtChScaleType.VtChScaleTypeLogarithmic

Keď však kód prebehne, zmizne mi graf a aplikácia zamrzne (WaitCursor). Neviete kde môže byť problém?

Budem skutočne rád ak mi niekto pomôže alebo ma nasmeruje na správne riešenie. Ďakujem.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Celé je to nějaké divné. Pokud jste ve VB6 používal Microsoft Chart Control, tak to zcela určitě byl ovládací prvek ocx (tuším MSCHRT20.OCX). A ten rozhodně nestačilo zkopírovat do složky, kde byl uložený program, ten se musel zaregistrovat do systému. To vyplývá ze samotné podstaty technologie ActiveX. To za Vás udělal Package and deployment wizard, nebo jste na to měl vlastní udělátko, nebo jste musel spustit regsvr32.

Pokud využíváte ActiveX v VB.NET (nic proti, to lze) tak se musíte postarat, aby 1) Ten *.ocx na cílovém systému byl a 2) aby byl řádně zaregistrován. To za Vás udělá každý lepší instalátor (InnoSetup například pomocí flagu "regserver"), nebo to musíte udělat ručně úplně tím samým způsobem, jako když jste dělal distribuci programu ve VB6.

Tip: Instalace se mi dobře ladí ve virtuálních PC...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Áno, je to ten ovl. prvok MSCHRT20.ocx. Práveže vždy keď som musel pracovať s nejakým svojim programom (VB6), kde som používal ovládací prvok (*.ocx), ktorý nebol v danom počítači, tak som ho iba skopíroval do zložky kde je program (*.exe) a potom to vždy fungovalo. Robil som to tak viac krát. Ibaže vo VB.NET mi to tak nejde. Druhým problémom je tiež to, že nechcem robiť nejaké inštalačne balíky, ale iba aplikácie na USB kľúč, ktoré teda netreba inštalovať. Dá sa toto nejako vyriešiť?

Inak ďakujem za predošlú odpoveď.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ten ActiveX ovládací prvek jste musel zaregistrovat zcela určitě, protože je založen na technologii COM. Pokud jste to nedělal, tak již musel být na daném počítači zaregistrován jinou aplikací. Vytvářet přenosnou .NET aplikaci ve stylu U3 není zrovna dobrý nápad, protože jednak je zde nutnost .NET Frameworku, dále registrace toho vašeho ActiveX a navíc ukládání konfigurace, které se ve výchozím stavu ukládá do Documents and Settings a ne na flashdisk.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback