Error al llamar método de objeto COM

02/07/2004 - 17:01 por jaimito | Informe spam
Hola compañeros...

En mi aplicación ASP.NET estoy utilizando una DLL ActiveX
creada en VB6. Agrego una referencia COM a mi proyecto
ASP.NET. En una página ASPX, instancio un objeto de la DLL
ActiveX, un ejemplo así:

///////////////////////////////////////////////////
//declaro objeto
Utilidad.Archivo objArchivo = null;

//instancio objeto sin problemas
objArchivo = new Utilidad.Archivo();

//Aquí genera el siguiente error:
//System.Runtime.InteropServices.COMException:
//Invalid procedure call or argument
objArchivo.Abrir("c:\prueba.jr");
///////////////////////////////////////////////////

Exactamente donde llamo al método Abrir genera el error que
comentarié.

Este método en la DLL ActiveX lo declaré así:

Public Function Abrir(ByVal Ruta As Variant) As Variant
'
' IMPLEMENTACIÓN
'
End Function


Llevo ya tres días con problemas al intentar utilizar un
objeto COM desde mi aplicación .NET (como se habrán podido
dar cuenta en los posting).

Les agradezco toda su colaboración al respecto.

Mil gracias...

Preguntas similare

Leer las respuestas

#1 jaimito
02/07/2004 - 19:10 | Informe spam
Gracias Oscar...

La función que estoy llamado realmente se llama Business y
la declaro así en VB6:

Public Function Business(ByVal IdType As String, ByVal Id
As String, ByVal CompanyId As String, ByVal PlanId As
String, ByVal BusinessId As String, ByVal AdviserKey As
String) As ADOR.Recordset

Habrás notado que expuse anteriormente, los parámetros de
tipo VARIANT, sin embargo, hace algunos instantes los
cambié a tipo STRING, pero sigue generando el mismo error.
Asimismo, la función retorna otro objeto COM, que es un
Recordset ADO.

Esta función es expuesta por una clase llamada Commision y
pertenece a un proyecto llamado MyLogic.

La función hace cosas que sé que no vienen al tema, puesto
que ni siquiera está entrando.

En .NET agrego la referencia a la DLL COM y el mismo
entorno me genera en la carpeta BIN dos DLL's llamadas:

Interop.ADOR.dll
Interop.MyLogic.dll

Entonces procedo a declarar una variable así:

MyLogic.CommissionClass objC = null;

La instanció así:

objC = new MyLogic.CommissionClass();

Llamo al método así:

objC.Business("0","1","2","3","4","5");

Exactamente en este llamado me genera el error de:

System.Runtime.InteropServices.COMException:
Invalid procedure call or argument


Agradezco toda tu colaboración al respecto.
Respuesta Responder a este mensaje
#2 jaimito
02/07/2004 - 21:19 | Informe spam
Sigo con el mismo cuento...

Voy a cambiar la librería ADOR por ADODB, a ver como me va.

Segun veo tu funcion devuelve un Ado RecorSet, Como lo


estas recibiendo????

creo q este doc t puede ayudar...

http://msdn.microsoft.com/library/e...ordset.asp

Salu2

Oscar
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida