Salve,
ho fatto questo piccolo progetto in VBNet per valutare l'interoperabilità tra oggetti COM+ in VBNet e applicazioni VB6.
Nelle proprietà dell' assmbly ho impostato che lo stesso deve essere visibile quale oggetto COMcodice:Imports Microsoft.VisualBasic Imports System.Runtime.InteropServices <Microsoft.VisualBasic.ComClass()> Public Class COMClass Implements ICOMClass Public Interface ICOMClass Property AnyData() As String Sub AnySub(ByVal Value As String) End Interface Private m_Data As String = "" Public Property AnyData() As String Implements ICOMClass.AnyData Get Return m_Data End Get Set(ByVal value As String) m_Data = value End Set End Property Public Sub AnySub(ByVal Value As String) Implements ICOMClass.AnySub m_Data = Value End Sub End Class
La compilazione è stata eseguita senza errori, quindi ho preso il risultato (la DLL) e la ho copiata di un PC dove è installato l'ambiente Visual Studio 6.0 nella directory del programma di test in VB6.
Ho generato il file tlb tramite RegAsm.
Poi ho refenziato la dll nel progetto VB6, le classi ICOMClass e COMClass sono entrambi visibili da VB6.
Il problema si presenta quando va in esecuzionel'ambiente VB6 va in errore : 'Automation error specified file not found'codice:set myClass=new COMClass
Dove ho sbagliato ?
Qualcuno mi dia qualche suggerimento

Rispondi quotando