Importare COM

lunedì 19 luglio 2004 - 11.57

iamacon Profilo | Newbie

Ho creato un COM (cfu.dll) con VB 6.0 e vorrei importarlo in un codice C#. Ho importato il COM (cfu.dll) con il Type Library Importer (TlbImp cfu.dll /out:cfuRCW.dll), ma quando cerco di registrare (regsvr32 cfuRCW.dll) il COM DLL cosi' ottenuto appare il messaggio d'errore "c:\cfuRCW.dll was loaded, but the DllRegisterServer entry point was not found...". Infatti, controllando con un verificatore di dipendenze (Dependency Walker) nella cfuRCW.dll non appare nessun entry point, mentre nel COM di partenza cfu.dll gli entry point ci sono. Sto sbagliando qulacosa? qualche opzione? avete una qualche idea?

Grazie in anticipo,
iamacon

Brainkiller Profilo | Guru

Ciao,
da ciò che mi risulta usando il Type Library Importer tu crei una classe Wrapper di appoggio, un Assembly .NET praticamente che puoi referenziare nel tuo progetto e usare come fosse una classe .NET. In realtà però essendo un wrapper ti permette di accedere direttamente alla tua classe COM.
Quindi quando fai il deploy del progetto, a livello di sistema devi registrare il tuo componente COM con regsvr32 e nella cartella dell'eseguibile .NET devi tenere la cfuRCW.dll

Dovrebbe funzionare così.

ciao
david

iamacon Profilo | Newbie

ho capito, il problema era che cercavo di registrare cfuRCW.dll, mentre e' solo cfu.dll che va registrata. quindi se qualcuno ha la necessita' di importare un COM DLL (ad es mycom.dll) i passi da fare sono:
1-registrare il COM mycom.dll nella dir in cui l'avete creato (regsvr32 mycom.dll)
2-importare la libreria sempre dalla medisima dir (tlbimp mycom.dll /out:mycomRCW.dll)
3-copiare il mycomRCW.dll nella dir dove c'e' il sorgente C# (mypgr.cs)
4-se nel COM avete una classe myclass, dal sorgente mtpgr.cs potete accedervi con mycomRCW.myclass (non e' necessario nessun import)
5-compilare (csc /r:mycomRCW.dll mypgr.cs)

molte grazie e ciao,
iamacon
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5