Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo cargar archivos de control que existen en su propia ruta cuando se ejecuta VB? ¡Por favor ayuda! ¡Gracias! !

¿Cómo cargar archivos de control que existen en su propia ruta cuando se ejecuta VB? ¡Por favor ayuda! ¡Gracias! !

Siga el siguiente método y reemplace el contenido con información sobre el control que desea usar. Después de terminar, haga clic derecho en Propiedades en la ventana del Explorador de proyectos y configure la ventana de inicio en ?Sub? >

Cómo cargar archivos OCX (u otros archivos de control) en VB

Muchos archivos escritos recientemente usan los archivos ocx del sistema, pero descubrí que muchos sistemas optimizados para XP en realidad no existen estos archivos ocx en . Como resultado, mi programa no puede ejecutarse en las máquinas de muchas personas, por lo que encontré el siguiente método para resolver este problema. Es decir: use ocx como archivo de recursos en el archivo exe, ignórelo si es externo y genere automáticamente si no es externo.

?El método consiste en guardar el control de terceros en el programa como un archivo de recursos personalizado. Después de ejecutar el programa y antes de usar el control, genere el control usado en el directorio del programa y complete el control. del archivo ejecutable. La cigarra dorada muda su caparazón.

El método específico es el siguiente:

Paso 1: copie el control que se utilizará en el directorio del proyecto actual, haga clic derecho en el control, seleccione Propiedades y anote el tamaño del archivo. . Tenga en cuenta que debe escribir el número específico en bytes, no cuántos K, para fines de programación.

Paso 2: Referenciar y utilizar el control normalmente.

Paso 3: agregue un nuevo archivo de recursos al proyecto, agregue el control de terceros utilizado como recurso personalizado (PERSONALIZADO) en el editor de archivos de recursos y use el 101 predeterminado para el número de recurso. Si se utilizan varios controles, agréguelos a los elementos de recursos 101, 102... en el archivo de recursos respectivamente, y el código de descascarado también debe modificarse en consecuencia.

Paso 4: Escriba el código de shell de control para leer los datos del archivo de recursos y generar el control en el directorio actual del programa.

Hablemos de cómo cargar recursos:

Add-in program-gt; Add-in program manager-gt; VB?6?ResourceEditor load-gt; botón más en la barra de herramientas, haga clic en él.

Luego, como se muestra en la imagen a continuación, haga clic en el círculo rojo para cargar el recurso personalizado.

El código es el siguiente:

Private?Const?OCXSIZE?=?198456?' El tamaño del control a generar es 198456Byte y el nombre es MCI32.OCX

Sub? Main() Dim?Ocx()?As?Byte?'OCX es una matriz de tipo BTye Dim?Counter?As?Long Ocx?=?LoadResData(101,?"CUSTOM")? 'Colocar el recurso No. 101 en el recurso personalizado ¿Leer en la matriz OCX? 'Tenga en cuenta que hay un error en las instrucciones para cargar recursos personalizados en la ayuda de Microsoft. El recurso personalizado se identifica como "PERSONALIZADO" en lugar del número 10 mencionado en. la ayuda. If?Right(App.Path,?1)? =?"($$43^#ASD#2@$#f$^)"?Then?'Lea la ruta del programa, determine si es el directorio raíz y procesarlo por separado

'El programa está en el directorio raíz

If?Dir(App.Path?amp;?"MCI32.OCX")?=?""

¿Entonces?' ¿Hay un control en la ruta del programa? Si no, se generará el control

'Escribir (generar) el control (CoolToolBar.ocx) en modo binario. al directorio donde se encuentra el programa principal

?Open?App.Path?amp;?"MCI32.OCX" ?For

Binary?As?#1

?Counter?=?0?To?OCXSIZE?-?1?'Tenga en cuenta que debido a que comienza desde 0?Byte, comienza con el tamaño del archivo?-?1Byte?

¿Poner?#1,?,?Ocx(Contador)

? ¿Siguiente?Contador

? ¿Cerrar?# 1

¿Finalizar? Si no

'El programa no está en el directorio raíz

If?Dir(App.Path?amp;?"\MCI32.OCX") ?=?""

Entonces? 'Si hay un control en la ruta del programa, si no, generar el control

?'Escribir (generar) el control (CoolToolBar.ocx) en el host en modo binario. El directorio donde donde se encuentra el programa

?Open?App.Path?amp;?"\MCI32.OCX"?For

Binary?As?#1

? For?Counter?=?0?To?OCXSIZE?-?1?'Tenga en cuenta que, dado que comienza desde 0?Byte, el tamaño del archivo?-?1Byte es el valor final

Puesto?#1? ,?, ?Ocx(Contador)

? Siguiente?Contador

? Cerrar?#1

¿Fin?Si Fin?Si Formulario1.Visible?=? ¿Verdadero?' Se han generado los controles utilizados en el programa principal, se muestra el formulario principal y se ingresa al programa principal. End?Sub

Nota: agregue el código anterior como módulo al proyecto y seleccione el objeto de inicio como Sub?Main en la configuración de propiedades del proyecto-proyecto, que es el código de desgranado anterior. Luego compile y genere un archivo EXE, copie el archivo EXE a otras computadoras que no tengan el control instalado y ejecútelo para ver si se logra la portabilidad del control. Si es así, ¡está bien! Lo anterior es el caso de usar un control. El método de usar múltiples controles es básicamente el mismo y no se repetirá.