Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Aggiungere un componente OCX/COM
giovedì 11 giugno 2009 - 11.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Barabas
Profilo
| Junior Member
102
messaggi | Data Invio:
gio 11 giu 2009 - 11:11
Salve a tutti,
sto provando a integrare un componente OCX/COM in una applicazione realizzata in VB.net con Visual Studio 2005 che gira su un PC con sistema operativo XP.
Purtroppo non esiste un controllo simile realizzato appositamente per .net, perciò devo usare per forza questo OCX anche se è unmanaged etc etc.
Ho seguito il tip di David De Giacomi (
http://www.dotnethell.it/tips/WebBrowserWinForms.aspx
) per la registrazione di un OCX diverso da quello che serve a me, comunque la procedura dovrebbe essere sempre la stessa.
Riesco ad aggiungere il componente alla casella degli strumenti ma quando provo a piazzarlo sulla form mi dà il seguente messaggio di errore:
"Impossibile usare il controllo ActiveX. Assicurarsi che sia registrato correttamente."
Cosa dovrei fare per essere sicuro della corretta registrazione?
Avete qualche consiglio da darmi?
grazie in anticipo
ciao
Barabas
R3GM4ST3R
Profilo
| Junior Member
196
messaggi | Data Invio:
gio 11 giu 2009 - 11:17
Ciao, non ho capito se hai registrato manualmente il controllo...se così non fosse, esegui la seguente procedura
Mettiamo che il componente si chiama pippo.ocx e si trova in c:\windows\system32\
apri un CMD (da start->esegui)
e digita
>regsvr32 c:\windows\system32\pippo.ocx
Dopodichè tutto dovrebbe funzionare correttamente, se così non fosse, il problema è un altro.
Ciao!
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
Barabas
Profilo
| Junior Member
102
messaggi | Data Invio:
gio 11 giu 2009 - 11:50
prima cosa grazie della risposta.
spiego un po' meglio la situazione:
il componente l'ho scaricato da internet e ho eseguito il suo installer.
ho provato ad aggiungerlo al visual studio e non era proprio presente nell'elenco dei componenti com selezionabili.
allora ho provato a registrarlo manualmente usando il percorso dove l'avevo installato, tipo:
regsvr32 c:\cartellaOCX\pippo.ocx
ma mi diceva che non era possibile registrare...
allora ho copiato manualmente il file ocx in c:\windows\system32 e ho dato il comando
regsvr32 c:\windows\system32\pippo.ocx
dopodichè ho trovato il componente nell'elenco dei componenti aggiungibili al visual studio l'ho selezionato e me lo sono trovato nella casella degli strumenti.
Purtroppo però quando provo ad usarlo piazzandolo nella form ricevo l'errore
"Impossibile usare il controllo ActiveX. Assicurarsi che sia registrato correttamente."
Ho provato anche ad aggiungere l'ocx ai riferimenti ma non cambia niente...
ho provato anche a metterlo sulla form da codice, (senza trascinarlo) e me lo trovo pure nell'intellisense ma non riesco ad usarlo.
forse ho fatto casino quando l'ho registrato manualmente... vorrei riprovare tutto da capo ma non so come cancellare la registrazione fatta con regsvr32...
spero che possiate aiutarmi
grazie
ciao
Barabas
R3GM4ST3R
Profilo
| Junior Member
196
messaggi | Data Invio:
gio 11 giu 2009 - 12:03
Di nulla!
Per deregistrarlo digitare
>regsvr32 /u c:\pippo.ocx
Che componente è?
Magari richiede una qualche licenza esterna o qualche altro file / dll che tu non hai installato nel tuo sistema...
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
Barabas
Profilo
| Junior Member
102
messaggi | Data Invio:
gio 11 giu 2009 - 12:14
il componente è RS TrendX della Rockwell, si usa in ambito SCADA/automazione industriale per graficare l'andamento di variabili di processo in impianti industriali, è fatto apposta per essere integrato in applicazioni Visual Basic (ma non .NET) che nel settore sono ancora molto diffuse.
ho usato il suo installer quindi credo che qualsiasi cosa gli serva se la sia installata...
ora riprovo a farlo daccapo.
Barabas
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
ven 12 giu 2009 - 21:22
Ciao
I Windows Form possono contenere solo controlli Windows Form che ereditano dalla classe Control.
Se ne hai bisogno, devi usare un tool che crea una classe wrapper che è possibile inserire nel WindowsForm.
Per ulteriori info:
http://msdn.microsoft.com/it-it/library/8ccdh774
(VS.80).aspx
Facci sapere...
Ciao
Barabas
Profilo
| Junior Member
102
messaggi | Data Invio:
lun 15 giu 2009 - 09:15
Ti ringrazio per il link certamente utile ma non credo che sia quello il problema, nel senso che il wrapping visual studio dovrebbe farlo in automatico creando un'apposita dll, che infatti io mi ritrovo pure, non è così?
Comunque ho controllato passo passo tutto il procedimento e sembra corretto, a questo punto l'unica possibilità è che ci siano problemi con licenze etc etc... in effetti non avrebbero dovuto esserci, ma alle volte, non si sa mai... in fin dei conti questo componente non era progettato per .net
Barabas
R3GM4ST3R
Profilo
| Junior Member
196
messaggi | Data Invio:
lun 15 giu 2009 - 10:42
Ciao, un'altra cosa che mi viene in mente è che magari quel controllo ocx dipende da altri controlli esterni...
tipo mscomm per gestire la seriale o dio solo sa cos'altro...prova a googlare per capire i prerequisiti di quel componente...
al massimo prova ad installare i vb6 runtime library...
ciao!
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !