ActiveX nelle hosted application

di Cristian Civera, in Media Center Edition,

Se sviluppate hosted application per MCE è molto probabile che abbiate la necessità di usare un linguaggio più potente. Per esempio nella mia demo di MyHome ho avuto la necessità di dialogare sulle porte della parallela.
Per far questo dobbiamo ricorrere agli ActiveX. Non dobbiamo preoccuparci di compatibilità perché MCE lavora solo con Internet Explorer e gira come Administrator (purtroppo) e quindi non abbiamo limiti nell'installazione.
Ovviamente l'ActiveX l'ho sviluppato in .NET. Prima di tutto creaiamo un assembly con una o più classi e quelle che devono essere usate come oggetti com marchiamole con questi attributi

 [ClassInterface(ClassInterfaceType.None)]
[Guid("....")]
public class MiaClasse

Il guid è preferibile metterlo da subito (createlo con il tool di VS.Net) così sapremo dove cercare le chiavi di registro. Inoltre, se prevedete proprietà o metodi da utilizzare tramite JavaScript create un'interfaccia con i membri che vi interessano e implementatela nella vostra classe, es:

 [Guid("...")]
public interface IMiaClasse
{
void MioMetodo(int par);
}

Il Guid dev'essere diverso. Le altre classi se non prevedete di usarle, marcatele con ComVisible a false.
Una volta compilato registrate l'assembly come oggetto com con il tool regasm.exe. Ora troverete nel registro con chiave HKEY_CLASSES_ROOT\CLSID\{guid} la vostra classe registrata.
Non ci resta che usarla in una pagina html.
Per creare l'oggetto in JavaScript si usa la classe ActiveXObject:

var classe = new ActiveXObject("namespace.MiaClasse");
classe.miometodo(0);

Ecco fatto. E' abbastanza semplice. Un'ultima cosa: i criteri di sicurezza del SP2 vi chiederanno la conferma per l'attivazione dell'ActiveX. Per evitare ciò, aggiungete la chiave
HKEY_CLASSES_ROOT\CLSID\{guid}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}
Sarà sufficiente per evitare il messaggio sgradevole in MCE.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese