ActiveX y sus metodos ?

02/05/2005 - 15:23 por ByB | Informe spam
Hola,

Estoy desarollando un ActiveX con VC++ 6.0

Selecciono File->New Project-> MFC ActiveX Wizard y le doy al proyecto
el nombre AX1

IVC++ genera el proyecto.

En el "Class View", puedo observar :
- CAX1App
- CAX1Ctrl
-CAX1PropPage

Hago un click derecho en CAX1Ctrl y escojo "Add Member Function"

Puedo entonces crear la funcion siguiente :

VARIANT FunctionTest()
{

VARIANT toto;
toto.bstrVal = SysAllocString(L"Hola");
return toto;
}

Entonces lanzo la compilacion y obtengo un fichero OCX

Pero cuando pruebo el fichero OCX en el "ActiveX Control Test
Container" (accessible en las herramientas de VC++), my ActiveX AX1
aparece, pero no tiene ningun metodo accesible !!! Ni siquiera el
FunctionTest() !!!

Puede alguien explicarme cual es el problema, y como se debe hacer para
que la funcion (metodo) que he creado se pueda acceder desde el
"ActiveX container" o desde una pagina Web ?

Muchas gracias !

Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

Preguntas similare

Leer las respuestas

#1 ByB
02/05/2005 - 18:53 | Informe spam
Il se trouve que ByB a formulé :
Hola,

Estoy desarollando un ActiveX con VC++ 6.0

Selecciono File->New Project-> MFC ActiveX Wizard y le doy al proyecto el
nombre AX1

IVC++ genera el proyecto.

En el "Class View", puedo observar :
- CAX1App
- CAX1Ctrl
-CAX1PropPage

Hago un click derecho en CAX1Ctrl y escojo "Add Member Function"

Puedo entonces crear la funcion siguiente :

VARIANT FunctionTest()
{

VARIANT toto;
toto.bstrVal = SysAllocString(L"Hola");
return toto;
}

Entonces lanzo la compilacion y obtengo un fichero OCX

Pero cuando pruebo el fichero OCX en el "ActiveX Control Test Container"
(accessible en las herramientas de VC++), my ActiveX AX1 aparece, pero no
tiene ningun metodo accesible !!! Ni siquiera el FunctionTest() !!!

Puede alguien explicarme cual es el problema, y como se debe hacer para que
la funcion (metodo) que he creado se pueda acceder desde el "ActiveX
container" o desde una pagina Web ?

Muchas gracias !



Problema resuelto.

Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Respuesta Responder a este mensaje
#2 Rodrigo Corral [MVP]
03/05/2005 - 22:27 | Informe spam
Estaria bien que comentases como lo has resuelto...


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
Respuesta Responder a este mensaje
#3 ByB
04/05/2005 - 15:09 | Informe spam
Après mure réflexion, Rodrigo Corral [MVP] a écrit :
Estaria bien que comentases como lo has resuelto...



Bueno, pues la manera que yo utilizaba para añadir un metodo crea un
metodo en efecto, pero no es un metodo COM. O sea que puede ser
utilizado como un metodo clasico que sirve para organizar el programa,
pero no puede ser llamado desde el exterior del ActiveX.

Para crear un metodo COM, hay que usar el "Calss Wizard" (View-Class
Wizard), escoger entonces "Automation", y alli, con el "Add Method" se
puede crear un metodo COM que podra ser llamado desde el exterior (sea
otro programa o una pagina web).

Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Respuesta Responder a este mensaje
#4 ByB
04/05/2005 - 15:12 | Informe spam
Rodrigo Corral [MVP] vient de nous annoncer :
Estaria bien que comentases como lo has resuelto...




Para crear un metodo que sea visible desde el exterior del ActiveX, no
se debe usar la manera que describi en el mensaje precedente, sino
utilizar el "Class Wizard" (View->Class Wizard), y en el Class Wizard,
escojer "Automation" y alli, utilizar "Add method".

De esta forma no se crea un metodo simple sino un metodo COM, que puede
ser llamado desde una pagina web u otro programa ...

Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Respuesta Responder a este mensaje
#5 Rodrigo Corral [MVP]
04/05/2005 - 23:08 | Informe spam
Gracias!!


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida