Crear un evento en ATL con un parámetro OUT en VC++ 6.0

21/06/2004 - 09:06 por Antonio Liberal | Informe spam
Hola buenas.

Estoy intentando desarrollar una dll ActiveX con VC++ y ATL, que será
utilizada en VB6.0. Lo tengo todo listo y funcionando, pero quiero crear un
evento que me recoja un valor tipo long para después tratarlo. Lo he creado
como [OUT] Long* valor pero no me funciona. Ese mismo código, en un método
del interface me funciona sin problemas.

¿Alguien tiene algún ejemplo? Todo lo que he encontrado en microsoft es
sobre parámetros IN, con los que no tengo problemas.


Gracias.

Preguntas similare

Leer las respuestas

#6 Antonio Liberal
29/06/2004 - 09:53 | Informe spam
Entonces, ¿porque en un método (no un evento) la cosa funciona sin
problemas? Lo que voy a hacer es darle un vistazo a la implementación
automática que ha hecho el VC, ver las diferencias entre la implementación
del método y la del evento.

Gracias.


"Sebastián Flores" escribió en el mensaje
news:
Me parece que estas un poco confundido con el uso del [out]... porque si
estoy en lo cierto, en vc estas haciendo *par = 1024; por ejemplo este
valor se copia a tu variable local (no lo hace por referencia) en vb y por
mas que mas que la modifiques, para vc sigue siendo 1024.

Saludos

"Antonio Liberal" wrote in
message news:#iIfv#
> Hola Rodrigo, perdona que no te haya constesado antes, he estado fuera


de
la
> oficina.
>
> Lo de que no me funciona es que monto el parámetro como [OUT] Long *


par,
> recojo el evento desde Visual Basic, cambio el valor de la variable


dentro
> de este y al volver a VC me repone el valor que tenía antes de lanzar el
> evento. La variable no está pasada por valor, porque si no en el Visual
> Basic me aparecería como ByVal par As Long).
>
> No me da ningún tipo de error al compilar o al ejecutar.
>
> ¿No tendrías por ahí algún pequeño ejemplo? He encontado ejemplos de
eventos
> con parámetros [IN], pero no con [OUT].
>
> Gracias
>
>
> "Rodrigo Corral [MVP]" escribió en el mensaje
> news:%23H6r$
> > ¿Que significa exactamente "no me funciona"?
> >
> > Si no recuerdo mal, en el caso de un parametro out, ATL 3.0 no


generaba
> > correctamente el codigo de disparo del evento y daba un error (no
recuerdo
> > si de compilación o en ejecución) que se solucionaba retocando el


código
> > generado.
> >
> >
> > Rodrigo Corral González [MVP]
> >
> > microsoft.public.es.vc FAQ
> > http://vcfaq.europe.webmatrixhosting.net
> >
> >
>
>


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