Utilice VB.net para diseñar un programa: ingrese aleatoriamente una cadena de caracteres (abc----) y aparecerá una pequeña ventana (hora) después de ingresar.
1. La aplicación no verificó el error de asignación de memoria
El programa necesita una parte de memoria para guardar datos, por lo que debe llamar a la "función función" proporcionada por el sistema operativo para aplicar Si la asignación de memoria es exitosa, la función de función devolverá la dirección del área de memoria recién abierta al programa de aplicación. área de memoria creada para el programa de aplicación, y el programa de aplicación puede usar la memoria a través de esta dirección. Esto se denomina "asignación de memoria dinámica" y las direcciones de memoria también se denominan "punteros" en programación.
La memoria no siempre está disponible y, en ocasiones, la asignación de memoria puede fallar. Cuando la asignación falla, la función del sistema devuelve un valor de 0. El valor de retorno de 0 no representa un puntero recién habilitado, sino una notificación del sistema a la aplicación de que se ha producido un error. Como aplicación, debe verificar si el valor de retorno es 0 después de cada solicitud de memoria. Si es 0, significa que ha ocurrido una falla y debe tomar algunas medidas para guardarlo, mejorando así la "robustez" del programa.
Si la aplicación no busca este error, "piensa" que el valor es un puntero libre a la memoria asignada y continúa usando esa memoria durante el resto de la ejecución. El área de memoria real en la dirección 0 almacena la "tabla de descriptores de interrupción" más importante del sistema informático y las aplicaciones nunca pueden usarla. En un sistema operativo sin un mecanismo de protección (como DOS), escribir datos en esta dirección provocará un bloqueo inmediato. En un sistema operativo potente como Windows, esta operación será capturada inmediatamente por el mecanismo de protección del sistema, lo que provocará que el sistema operativo se bloquee. forzar el cierre de la aplicación infractora para evitar que se expanda. En este caso, se produce el error "Escribir en la memoria" anterior y muestra la dirección de memoria a la que se hace referencia como "0x00000000".
Hay muchas razones por las que falla la asignación de memoria, incluida memoria insuficiente, discrepancia en la versión de la función del sistema, etc. Por lo tanto, este tipo de falla en la asignación es más común después de que el sistema operativo se ha utilizado durante mucho tiempo, se han instalado varias aplicaciones (incluidos programas de virus que se han "instalado" involuntariamente) y una gran cantidad de parámetros y archivos del sistema. han sido cambiados.
2. La aplicación hace referencia a un puntero de memoria anormal debido a su propio error.
En aplicaciones que utilizan asignación dinámica, a veces habrá una situación en la que el programa intenta leer o escribir un sección Memoria que "debería estar disponible", pero por alguna razón el puntero que se esperaba que estuviera disponible ya no está disponible. Esto podría ser que el programa "se olvide" de pedirle al sistema operativo que asigne memoria, o podría ser que el programa mismo cancele el registro de la memoria en algún momento sin "notarse", etc. El sistema recuperará memoria. Una vez que el sistema recupera la memoria no registrada, sus derechos de acceso ya no pertenecen a la aplicación. Por lo tanto, las operaciones de lectura y escritura también activarán el mecanismo de protección del sistema. El único resultado para un programa que intenta "violar la ley" es. será cancelado y todos los recursos serán reclamados. ¡Las leyes del mundo de la informática siguen siendo mucho más efectivas y estrictas que las leyes de los humanos! Situaciones como ésta son errores en el programa mismo y el error generalmente se puede reproducir en una secuencia específica de operaciones. Los punteros no válidos no siempre son 0, por lo que la dirección de memoria en el mensaje de error no es necesariamente "0x00000000", sino otros números aleatorios.
Si el mensaje de error anterior aparece con frecuencia en el sistema, las siguientes sugerencias pueden ser útiles:
1. Busque troyanos o virus en el sistema. Estos programas a menudo modifican irresponsablemente el sistema para lograr el propósito de controlarlo, provocando anomalías en el sistema operativo. Siempre debes fortalecer tu conciencia sobre la seguridad de la información y evitar sentir curiosidad por los programas ejecutables de origen desconocido.
2. Actualice el sistema operativo para que el programa de instalación del sistema operativo vuelva a copiar la versión correcta de los archivos del sistema y corrija los parámetros del sistema. A veces puede haber errores en el propio sistema operativo, así que asegúrese de instalar las actualizaciones publicadas oficialmente.
3. Prueba la nueva versión de la aplicación.
Para implementar múltiples ventanas, es mejor no usar un formulario principal, sino un formulario múltiple separado. Puede utilizar el ".visible" del formulario para lograr esto. Por ejemplo, para iniciar Form1, use "Form1.show"; para ocultar Form1, use "Form1.hide" para salir de Form1, use "Descargar form1".
(Cuando usas Show en el formulario, también usas Load, es decir, para leer el formulario, sin usar otro método Load)