Erro do tipo: Object variable or With block variable not set ao chamar método COM
-
segunda-feira, 8 de junho de 2009 14:41
Em meu projeto do tipo Class Library, usando C#, 2.0 estou tentando fazer a chamada de um método exposto por uma dll do VB 6.0, e estou recendo o seguinte erro : "Object variable or With block variable not set", porém ao fazer a chamada deste mesmo método em uma página ASP.NET ele funciona corretamente alguém sabe me explicar o porque deste erro? E propor uma solução pra usa-lo na minha Class Library?
Aqui segue o trecho com erro:object msg = null; ADODB.Recordset rec = new ADODB.Recordset(); Object obj = null; obj = (Object)rec; MinhaDLLCOM.UsuarioClass usuario = new MinhaDLLCOM.UsuarioClass(); int retorno = usuario.Gets("104060", string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, ref obj, string.Empty, ref msg, string.Empty, string.Empty); rec = (ADODB.Recordset)obj; if (!rec.EOF) {}o erro ocorre na linha de chamada do método Gets.
Obrigado.
Frederico Miranda
Todas as Respostas
-
sexta-feira, 16 de setembro de 2011 11:04
Frederico,
Acredito que o problema ocorre pela forma que você esta instanciando o componente, uma dll VB6 deve ser instanciada da forma abaixo:
Você vai ter que referenciar sua DLL COM primeiro Project->Add Reference).
using MinhaDLLCOM;
MinhaDLLCOM.UsuarioClas usuario = null;
usuario = (MinhaDLLCOM.UsuarioClas)Activator.CreateInstance(Type.GetTypeFromProgID("MinhaDLLCOM.UsuarioClass"));
int retorno = usuario.Gets("104060", string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, ref obj, string.Empty, ref msg, string.Empty, string.Empty);
- Editado AndesBH sexta-feira, 16 de setembro de 2011 11:15
- Sugerido como Resposta AndesBH sexta-feira, 16 de setembro de 2011 23:41
- Marcado como Resposta Harley AraujoOwner quinta-feira, 29 de dezembro de 2011 12:15

