dejanV Skrevet 21. november 2011 Del Skrevet 21. november 2011 Jeg prøver å embedde en ActiveX kamerakontroll, VitaminCtrl fra Vivotek, inn i en applikasjon som dessverre ikke støtter denne så godt. Uten at jeg er 100% sikker, ser det ut som applikasjonen ikke støtter noen datatyper som VitaminCtrl bruker. Derfor har jeg tenkt å lage min egen ActiveX kontroll som tar i bruk kun de kontrollene jeg trenger(opp-ned-venstre-høyre og zoom). Har jeg forstått det riktig at denne må ha et interface mot VitaminCtrl med kun de metodene jeg ønsker å bruke? Jeg har aldri vært borti ActiveX før og om mulig så ønsker jeg input om hvordan man lager og registrerer en ActiveX kontroll med et interface mot en annen ActiveX kontroll (som f.eks. VitaminCtrl) i Visual Studio 2010, helst i C#. Har prøvd diverse tutorials og guides men de fleste har feilet. Jeg har fått til å lage og registrere en ActiveX kontroll i Visual Basic 6.0, men jeg har nesten ikke noe erfaring med VB så derfor foretrekker jeg C#. Jeg har løst problemet midlertidig ved å bruke en ActiveX web-browser i applikasjonen (den kontrollen fulgte med) og åpne en HTML side lokalt som inneholder kode for å vise stream, samt knapper for styring av kamera osv. Ikke akkurat elegant, men det fungerer. En annen mulighet jeg vurderer er å bruke en ActiveX kontroll fra en annen kameraleverandør (f.eks. Axis), men ut fra det lille jeg har prøvd så ser det ut som funksjonene er litt annerledes og får dermed ikke koblet til. Axis kontrollen fungerer nemlig 100% med applikasjonen jeg utvikler, men jeg har kun Vivotek kamera. Noen som har prøvd dette før? Håper å få litt mer innsikt i problemstillingen med svar fra erfarne brukere her på forumet, og etter hvert også løse problemet. Lenke til kommentar
GeirGrusom Skrevet 22. november 2011 Del Skrevet 22. november 2011 COM (Som er underlaget til ActiveX) støttes fint av .NET. Men du må lage en wrapper for biblioteket. Ofte skal du bare trenge å legge til en referanse til ActiveX .OCX, .IDL eller .DLL fila og kontrollen skal bli tilgjengelig (Visual Studio lager wrapperen for deg) Hvis ikke, så kan du gjøre dette "manuelt" ved å bruke et program som følger med .NET som heter Type Library Importer Denne vil danne en .dll fil som inneholder wrapper biblioteket for ActiveX komponenten som du deretter refererer til i prosjektet ditt. Lenke til kommentar
dejanV Skrevet 23. november 2011 Forfatter Del Skrevet 23. november 2011 Takk for innspill, skal prøve å få til en wrapper i løpet av uka. Har også vært i kontakt med selskapet bak applikasjonen som skal integreres med Vivotek-kontrollen og Vivotek, og det ser ut som problemet er noen referanser som mangler i ActiveX kontrollen deres. Dette blir nok fikset i en patch senere. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå