logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Integracja ActiveX z openCV w VC++ - błąd przy uruchamianiu aplikacji

Paweł Frąckowiak 27 Kwi 2009 20:32 1979 2
REKLAMA
  • #1 6463709
    Paweł Frąckowiak
    Poziom 11  
    Posty: 94
    Ocena: 2
    Witam serdecznie!!!

    Pisze aplikacje pod VC++ w której wykorzystuje kontrolkę ActiveX, kilka dni temu okazało się że będę potrzebował do tego jeszcze openCV więc ściągnąłem sobie bibliotekę i zacząłem prace i okazało się że coś nie gra:-(

    Dziś po wielu wysiłkach stwierdziłem jednoznacznie, że wina leży w połączeniu kontrolki i openCV, otóż jeżeli mam samą kontrolkę to wszystko działa bez zarzutu, podobnie się sprawa ma w sytuacji gdy mam samą bibliotekę openCV - wszystko gra, niestety gdy połączę te dwie rzeczy to otrzymuje error:

    Integracja ActiveX z openCV w VC++ - błąd przy uruchamianiu aplikacji

    Wywala go gdy program już się skompiluje i ma się uruchomić.
    Dodatkowo sprawdziłem, że sytuacja ta występuje niezależnie od tego jaką kontrolkę ActiveX zastosuje - wystarczy że obiekt tego typu pojawi się w aplikacji i wszystko się wali;-(

    Dodam tylko jeszcze, że jedyną rzeczą jaka póki co jest z w mojej aplikacji z openCV to:
    
    	IplImage *obraz;
    
    	CFileDialog open(true);
    	open.m_ofn.lpstrFilter = _T("Obrazy (*.jpg)\0*.jpg\0\0");
    	if (open.DoModal() == IDOK)
    	{
    		CString sciezka = open.GetPathName();
    		obraz = cvLoadImage(sciezka);
    	}  


    Nie ma tego dużo bo nawet to powoduje problemy:-(

    Aha problem zniknie gdy zakomentuje linijke z cvLoadImage()

    Proszę jeśli ktoś wie co mam zrobić/dodać/zmienić by to razem współgrało to proszę o info!

    Z góry dzięki!!!

    Mała poprawka, błąd powstaje w wyniku użycia ponoć niezarejestrowanej controlki. Problem polega na tym ze nie wiem jak zarejestrować ową kontrolkę, opis tego niby jest tutaj:

    http://www.codeguru.com/forum/archive/index.php/t-264930.html

    ale i tak lipa, no chyba ze robię coś nie tak, jeśli ktoś kiedyś rejestrował jakieś kontrolki to proszę o info jak to zrobić by odniosło to żądany skutek...
  • REKLAMA
  • #2 6476270
    one_eddie
    Poziom 25  
    Posty: 973
    Pomógł: 62
    Ocena: 14
    Każda kontrolka wymaga rejestracji. Wystarczy użyć polecenia RegSvr32 jako parametr podac nazwe pliku DLL. Proszę pamiętać ze Reg* musi odnaleźć ten plik, wiec trzeba o to zadbać podając pełną scieżkę lub odpowiednio zmieniając folder roboczy.

    Wiecej informacji znaleźc można tu: http://support.microsoft.com/kb/249873/pl
  • #3 6476496
    Paweł Frąckowiak
    Poziom 11  
    Posty: 94
    Ocena: 2
    Dzięki za info!!!

    Rejestracja oczywiście przebiegła poprawnie ale błąd się powtarzał więc ryłem po necie dalej az znalazłem rozwiązanie... Może nie do końca takie jakie mnie satysfakcjonowało, ale teraz wszystko działa:-)

    Rozwiązaniem okazała się być zmiana biblioteki OpenCV z wersji 1.1 na wersję starszą czyli 1.0, rozwiązanie to podsunął mi koleś z forum który pisał że na starej wersji openCV błędu nie miał, a jak zmienił na nowszą to ma ten błąd...

    Dzięki za zainteresowanie!!!

    Pozdrawiam!!!
REKLAMA