Problemas: COM+ (creados con VFP 8.0) y Windows XP

23/08/2003 - 01:17 por Carlos Calero C. | Informe spam
Amigos, he optado por la utilizaciòn de VFP 8.0 para la
creacion de componentes COM+
dada su capacidad para Control de Errores (captura de
Excepciones) haciendo uso de
TRY...CATCH...FINALLY. Sin embargo he tenido problemas al
utilizar estos componentes de manera Remota,
puesto que recibo el siguiente error al llamar a alguno
de
los metodos del componente:

OLE error code 0x80020006: Unknown COM status code

Lo extraño es que este error se produce en "cualquier"
momento, es decir que puedo llamar
al metodo de una instancia del componente por ejemplo en
el evento Init de un formulario,
y no se produce el error; sin embargo, si mas adelante
llamo al mismo metodo de otra instancia
del componente, por ejemplo en el evento Click de un
Command Button, entonces se produce el error.

El mismo codigo sin el uso del TRY...CATCH...FINALLY
funciona correctamente compilado con VFP 7.0.
Ahora bien, he conseguido evitar el error anteriormente
mencionado modificando
un parametro de la Aplicacion a la que pertenece mi
componente, el parametro es:
Limite de Activacion = 1 (en 'Agrupar y Reciclar' de las
Propiedades de la Aplicacion)

En realidad, esto funciona si se cambia el valor del
parametro a algun valor diferente de cero.
Tambien se evita este error si se cambia el parametro:
Limite de llamada, a algun valor
diferente de cero.

Pero evitar el error de esta manera tiene un costo muy
alto: la ejecucion de los metodos del
componente demora mucho mas. Normalmente (en la version
7.0) la primera llamada al metodo de
un componente tiene una pequeña demora, sin embargo las
siguientes llamadas que se realizan despues
se ejecutan muy rapidamente. Este no es el caso cuando
cambio alguno de los parametros mencionados
para evitar el error al utilizar componentes compilados
con VFP 8.0., puesto que en cada una de las
llamadas se produce una demora.

Una observacion adicional: Este error sucede cuando
instalo la Aplicacion Cliente y el Proxy de la
Aplicacion COM+ en una PC con SO Windows XP, sin embargo
al instalar exactamente lo mismo en una PC
con SO Windows 98, no tengo este problema.

Bueno, todos mis usuarios utilizan Windows XP por lo que
necesito hacer correr las aplicaciones
sobre este SO. No se si alguien mas ha experiemntado
esto,
y me pudiera dar alguna luz sobre la solucion
sin afectar el tiempo de respuesta de la aplicacion. Tal
vez se requiere un parche o algo por el estilo
para que sobre Windows XP trabajen sin problemas los
proxys de componentes COM+ creados con VFP 8.0.

Les agradecere inmensamente cualquier ayuda o informacion
que me puedan dar acerca de este problema.

Saludos
Carlos Omar Calero C.
Analista de Sistemas
Minera Aurífera Retamas S.A.
ccalero78@hotmail.com

Preguntas similare

Leer las respuestas

#1 Alfonso Morquecho
30/08/2003 - 00:11 | Informe spam
Oye esta muy intresante lo que planteas, ya
que en poco tiempo voy a montar algo similar
y si efectivamente con Xp hay algunos problemas
especiales.

Me imagino que ya instalaste el SP 1 del Xp.


Una pregunta, esto no te ha dado problemas
con windows 2000?

Y mas que nada tengo problemas de proxyŽs con
un cliente sobre todo en salidas a internet.

En fín si averiguo algo al repecto, te aviso o
al revés.

Saludos

Alfonso
Amigos, he optado por la utilizaciòn de VFP 8.0 para la
creacion de componentes COM+
dada su capacidad para Control de Errores (captura de
Excepciones) haciendo uso de
TRY...CATCH...FINALLY. Sin embargo he tenido problemas


al
utilizar estos componentes de manera Remota,
puesto que recibo el siguiente error al llamar a alguno
de
los metodos del componente:

OLE error code 0x80020006: Unknown COM status code

Lo extraño es que este error se produce en "cualquier"
momento, es decir que puedo llamar
al metodo de una instancia del componente por ejemplo en
el evento Init de un formulario,
y no se produce el error; sin embargo, si mas adelante
llamo al mismo metodo de otra instancia
del componente, por ejemplo en el evento Click de un
Command Button, entonces se produce el error.

El mismo codigo sin el uso del TRY...CATCH...FINALLY
funciona correctamente compilado con VFP 7.0.
Ahora bien, he conseguido evitar el error anteriormente
mencionado modificando
un parametro de la Aplicacion a la que pertenece mi
componente, el parametro es:
Limite de Activacion = 1 (en 'Agrupar y Reciclar' de las
Propiedades de la Aplicacion)

En realidad, esto funciona si se cambia el valor del
parametro a algun valor diferente de cero.
Tambien se evita este error si se cambia el parametro:
Limite de llamada, a algun valor
diferente de cero.

Pero evitar el error de esta manera tiene un costo muy
alto: la ejecucion de los metodos del
componente demora mucho mas. Normalmente (en la version
7.0) la primera llamada al metodo de
un componente tiene una pequeña demora, sin embargo las
siguientes llamadas que se realizan despues
se ejecutan muy rapidamente. Este no es el caso cuando
cambio alguno de los parametros mencionados
para evitar el error al utilizar componentes compilados
con VFP 8.0., puesto que en cada una de las
llamadas se produce una demora.

Una observacion adicional: Este error sucede cuando
instalo la Aplicacion Cliente y el Proxy de la
Aplicacion COM+ en una PC con SO Windows XP, sin embargo
al instalar exactamente lo mismo en una PC
con SO Windows 98, no tengo este problema.

Bueno, todos mis usuarios utilizan Windows XP por lo que
necesito hacer correr las aplicaciones
sobre este SO. No se si alguien mas ha experiemntado
esto,
y me pudiera dar alguna luz sobre la solucion
sin afectar el tiempo de respuesta de la aplicacion. Tal
vez se requiere un parche o algo por el estilo
para que sobre Windows XP trabajen sin problemas los
proxys de componentes COM+ creados con VFP 8.0.

Les agradecere inmensamente cualquier ayuda o


informacion
que me puedan dar acerca de este problema.

Saludos
Carlos Omar Calero C.
Analista de Sistemas
Minera Aurífera Retamas S.A.



.

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