Pasos de operación del proceso de control ActiveX
Estos son N problemas que debemos resolver (de simples a difíciles)
1. Cómo obtener datos del servidor y pasarlos al control ActiveX.
1) Usar enlace de parámetros durante la inicialización
2) Obtener datos durante el tiempo de ejecución
2. ¿Cómo obtiene el control ActiveX la información del cliente y la pasa al servidor?
3. Seguridad
1) Firma digital
2) Uso de la interfaz IOBJSAFE
Bien, comencemos a aprender con el ejemplo.
Esta función demuestra cómo crear un control simple e incrustarlo en una página web para su ejecución.
Entorno de trabajo: WINXP+VB6+IE6
Mi configuración de seguridad de IE es nivel de seguridad - medio. Todas las opciones de Activex están configuradas como habilitadas.
Abra vb6 y cree un nuevo proyecto de control ActiveX.
Nombre del proyecto: fOcx, nombre de control de usuario: UC1
Para mayor comodidad, utilizamos el asistente de interfaz de control ActiveX..., Menú->Complementos->Administrador de complementos ->Asistente de interfaz de control ActiveX de VB 6. DE ACUERDO.
Abra el Asistente de interfaz de control ActiveX, siguiente paso, para los nombres disponibles y los nombres seleccionados, de forma predeterminada pasamos al siguiente paso, creamos un nuevo miembro personalizado, tipo GetInfo: Propiedad, siguiente paso, *** seleccione el método que acabamos de agregar GetInfo, seleccione TxtInfo para asignar al control, seleccione Texto para el miembro y el siguiente paso hasta que se complete. Algunas cosas que no necesitamos se generarán en la ventana de código, las eliminaremos y el código restante es el siguiente:
Opción explícita
'¡Atención! ¡No elimines ni modifiques las siguientes líneas comentadas!
'MappingInfo=txtinfo,txtinfo,-1,Text
Propiedad pública Obtener GetInfo() como cadena
GetInfo = txtinfo.Text
Propiedad final
Propiedad pública Let GetInfo(ByVal New_GetInfo As String)
txtinfo.Text() = New_GetInfo
PropertyChanged GetInfo
End Property
'Cargar valores de propiedad desde el almacenamiento
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
txtinfo.Text = PropBag.ReadProperty(GetInfo, Texto1)
End Sub
'Escribir valores de propiedad en la memoria
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Llamar a PropBag .WriteProperty(GetInfo, txtinfo.Text, Text1)
End Sub
Está bien, lo compilamos en el archivo fOcx.ocx, luego ejecutamos F5 directamente y se abrirá VB una página de prueba. De la siguiente manera:
E:\Program Files\Microsoft Visual Studio\VB98\UC1.html
Al mismo tiempo, abra su navegador IE y vea, el control que realizó aparece en en esta página de prueba.
Puede abrir la página de prueba y ver el ClsID, por ejemplo: 890D1028-298B-45CF-9A64-6ED5A5BACBC9
Debido a que el registro se completó cuando se compila VB, el cliente no se puede simular el mensaje que aparece cuando el control no está instalado.
Continuemos
Use regsvr32 F:\csdn_vb\com+_activeX\sample1\fOcx.ocx –u para. desinstalar
O
Abra el registro y busque el elemento 890D1028-298B-45CF-9A64-6ED5A5BACBC9 en HKEY_CLASSES_ROOT\CLSID
Elimínelo, por supuesto. de esta manera, todavía hay elementos pero no se eliminan limpiamente.
Dado que ActiveX está configurado para iniciarse en IE, se mostrará el control.