ho bisogno di sviluppare alcune classi che dovrebbero essere richiamabile da VB6 con Managed C++ (C++/CLI).Generazione di un COM assembly visibile da Managed C++ (C++/CLI)
ho sviluppato dapprima un campione in C# e posso usare il montaggio passante COM senza problemi usando solo l'impostazione "Registra per interoperabilità COM" e "Make assembly COM visibile" (e che utilizzano l'attributo [ClassInterface (ClassInterfaceType .AutoDual)] per i metodi disponibili in VB6.
Dopo che ho cercato di tradurre il campione C++/CLI senza successo. ho creato la stessa classe con il [ClassInterface (ClassInterfaceType.AutoDual)] attributo. I abbiamo impostato l'impostazione "IDL incorporato" per specificare il TLB di uscita ma il TLB non viene generato automaticamente.Se io uso l'utilità tlbexp sulla DLL generata ottengo un tlb che può essere importato in VB6 ma quando provo a creare un'istanza Ottengo un "compoennt ActiveX non può creare oggetto (429)"
Che altro devo fare con il progetto di lasciarlo correre?
Grazie in anticipo.
Sto registrando l'assembly automaticamente con tlbexp, giusto? L'opzione/tlb viene segnalata come non riconosciuta dal compilatore e dal linker. Sei sicuro di questo? –
No, tlbexp genera solo una libreria di tipi, nulla viene registrato. L'opzione/tlb è per Regasm.exe, non per il compilatore o il linker. Mi è molto difficile non averlo ricevuto dal mio post. –
Deve esserci qualcosa in relazione con il fatto di essere un po 'in ritardo. Ho riletto il tuo post e sono perplesso quanto te :) –