Logo UGIdotNET

Discussione 'Controlli ActiveX'

# Pubblicato il 18 giu 2002 15.35 - Rispondi
Angelo Aldrovandi
Controlli ActiveX
Ciao a tutti,

non sapevo dove scrivere questo messaggio cosi' l'ho scritto qui...

...non sapevo dove scriverlo, perche' di controlli ActiveX in .NET non se ne parla! In Visual Studio .NET esiste solo un "template" di progetto per MFC in C++, ma e' sempre la solita vecchia storia!

Qualcuno sa qualcosa di ActiveX in .NET?!

Ciao!
* Eingel
< eingel@eingel.com >
# Pubblicato il 18 giu 2002 16.27 - Rispondi
Fabio Santini
Re: Controlli ActiveX
Utilizzare componenti ActiveX attraverso .NET è semplicissimo, grazie al supporto di interoperabilità che il Framework mette a disposizione degli sviluppatori, ma creare un ActiveX con .NET non ha senso. Mi spiego meglio.
Un'applicazione .NET è composta da Assembly, che sono unità logiche di esecuzione spesso rappresentate da un file dll o exe. Questi file non contengono il linguaggio macchina ma hanno al loro interno tre zone ben distinte:
1) Metadati
2) Codice IL (Intermediate Language)
3) Risorse
Il CLR (Common Language Runtime) una volta in esecuzione, compila il codice IL in codice nativo. Un componente COM è una dll (o un exe) in codice nativo che si avvale della infrastruttura COM di Windows. E' quindi sempre possibile fare in modo che un Assembly chiami un componente COM e viceversa ma appartengono a due 'mondi' differenti.
# Pubblicato il 18 giu 2002 20.17 - Rispondi
Angelo Aldrovandi
Re: Controlli ActiveX
> Utilizzare componenti ActiveX attraverso .NET è semplicissimo

Cioe', tra poco ci saranno Windows Media Player in .net -- anzi, facciamo che possa scrivermi io il mio, non so, il Cippalippa Media Player, per poi "embeddarlo" nell'html di una pagina cosi' Internet Explorer se lo scarichi eccetera...

...sei sicuro?! :)
# Pubblicato il 19 giu 2002 9.17 - Rispondi
Fabio Santini
Re: Controlli ActiveX
Certo che sono sicuro. Se tu guardi tutte le società che producono ActiveX si stanno spostando nella produzione di Assembly .NET.
Sarà sempre possibile utilizzare componenti COM (considera che l'application server di .NET rimande COM+) ma se vuoi creare degli oggetti riutilizzabili da applicazioni .NET non ti conviene costruire componenti COM ma Assembly.NET. Se quello che stai costruendo è fortemente legato a Windows e deve essere consumato sia da applicazioni Win32 'old style' sia da applicazioni .NET allora puoi continuare a creare ActiveX.
# Pubblicato il 19 giu 2002 12.17 - Rispondi
Angelo Aldrovandi
Re: Controlli ActiveX
Mmhh.. continuo a non essere convinto! :)

Voglio dire, COM e' "ActiveX" lato-server. Io parlo di controlli ActiveX, cioe' lato-client.

Non so, pensa al controllo ActiveX della Symantec che ti fa il virus-check dal loro web, o a quello della Microsoft per Windows Update, che sempre da web controlla quali updates hai installato e quali sono compatibili col tuo sistema...

Voglio dire, non ho mai lavorato seriamente con ActiveX ma ho creato un paio di controlli che facevano le veci di un applet java, un po' di grafica e via dicendo... e mica le registravo con COM+, le "embeddavo" nell'HTML di una pagina e via!

Ho detto delle cazzate?! :)
# Pubblicato il 19 giu 2002 15.27 - Rispondi
Fabio Santini
Re: Controlli ActiveX
La stessa cosa che facevi con componenti COM (annegarli dentro ad IExplorer) lo puoi fare con Assembly .NET (sempre che sul client sia presente il Framework) utilizzando il tag Object della pagina HTML:

<object id="<nome>" width=100 height=100 classid="nomeassembly.dll#classe">

dove nomeassembly.dll può essere un percorso relativo alla pagina html o un percorso assoluto http. Da Visual Studio .NET puoi creare controlli di questo tipo scegliendo la tipologia di progetto Windows Control Libray. Spero di averti chiarito le idee. Ciao
# Pubblicato il 19 giu 2002 18.45 - Rispondi
Angelo Aldrovandi
Re: Controlli ActiveX
Si vede che non sono un esperto di COM, eh?! :) Grazie del chiarimento!

...certo, sul client deve essere presente il framework... tipo la virtual-machine di Java... solo che ci vorranno un paio d'anni prima che diventi diffuso a sufficienza! :(

Ciao,
* Eingel
# Pubblicato il 22 lug 2002 12.20 - Rispondi
enrica santi
Re: Controlli ActiveX
ciao, mi intrometto anche io perché ho un problema inerente per il quale ho inviato una email alla sezione ASP.Net e non ho avuto risposta.

Io ho provato a fare come illustra il libro di Balena, ed ho creato una Windows control Library (per sostituire i miei controlli activex vb6 a thread singolo) e se lo metto inun progetto VB.NET funziona benissimo, mentre se cerco di ospitarlo in Internet Explorer non rieso a vederlo. Non da' errori, ma all'avvio di Internet Explorer non vedo il mio controllo, ma una combo che non é utilizzabile.

Lavoro con Windows2000 server e visual studio .net 2002 versione trial e IE6.
Cosa posso aver sbagliato ?

Poi..... visto che non riuscivo a vedere un nuovo controllo Vb .net in Internet Explorer ho creato un Activex VB6, ma con questo sistema con Windows2000 non riesco a registrarlo in automatico aprendo la pagina ASPX (o asp), come invece riesco a fare con W98 o WinNT: c 'é qualche impostazione particolare differente rispetto a W98 o WinNt ???

Anche il problema precedente del Window control .NET in IE6 potrebbe essere legato a Windows2000 (solo su queste macchine ho installato il framework .NET per cui la prova in W98 o Win NT del nuovo controllo Windows Control library in IE non l'ho fatta) ???
# Pubblicato il 25 lug 2002 0.35 - Rispondi
Francesco Balena
Re: Controlli ActiveX
Qualche ora fa ho risposto al messaggio nella sezione ASP.NET come pure ad un messaggio simile nell'area Metodologie.

Io non ho provato a fare una combobox, ma con il controllo TextBoxEx citato nel libro il tutto funziona bene, anche se ci possono essere problemi con la SP1. Ci possono essere dei problemi di refresh e non sempre i contorni dei controlli sono disegnati bene, ma il meccanismo nel complesso funziona. Per maggiori dettagli vedere i msg che ho postato nelle aree di cui sopra.

Francesco Balena
Code Architects Srl

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185