E' tutta la mattina che litigo con la creazione di un
activeX in dot.net.
In rete non sono riuscito a trovare nulla di eccessivamente approfondito al
riguardo... probabilmente perchè la creazione in dot.net di activeX non è
ufficialmente supportata per qualche misterioso motivo.
This article reflects features of the .NET Framework
1.0 Beta that were not included in the final release. You cannot register
Windows Forms controls as ActiveX controls or create them using
CoCreateInstance.
Fonte: Msdn
.NET Interop: Get Ready for Microsoft .NET by Using Wrappers to Interact with
COM-based Applications
Con opportuni
accorgimenti è invece possibile creare degli
ActiveX.
Il comportamento anomalo sul quale sto indagando è il seguente:
Se compilo il progetto da vs impostando tra le proprietà di Build la voce
"Register for COM interop" a true tutto funziona egregiamente, sia includendo
l'oggetto in un progetto VB 6.0 che utilizzando l'ActiveX control Test
Container. Se invece evito quest'operazione e faccio la registrazione a manina
attraverso regasm l'ActiveX funziona se e solo se la dll che lo contiene (e
tutte le sue dipendenze) è sotto GAC.
Cosa fa in più l'opzione "Register for COM interop" di vs rispetto a regasm?
Ora indago.
powered by IMHO 1.1 with Emoticon
Formatter