Cómo implementar multi-threading en Visual Basic 6.0. Sería genial si alguien puede dar un ejemplo.Multithreading en Visual Basic 6.0
Respuesta
VB6 no es un entorno realmente bueno para aplicaciones de subprocesos múltiples. No hay soporte listo para usar, necesita profundizar en las funciones estándar WinAPI. Echar un vistazo a este artículo, que ofrece una muestra bastante amplia:
en varios proyectos que he implementado el procesamiento asincrónico en VB6 utilizando múltiples procesos. Básicamente tener un hilo de trabajo dentro de un proyecto de exe activo que está separado del proceso principal. El exe de trabajador puede pasar los datos que necesita e iniciar, levantando un evento para decir que está terminado o hay datos para el proceso principal.
Es un recurso que requiere más recursos (un proceso adicional en lugar de un hilo) pero VB6 se ejecuta en un único apartamento con hilos y no tiene ningún soporte integrado para iniciar nuevos hilos.
Si realmente necesita tener múltiples hilos dentro de un proceso, le sugiero que use .net o VC6 en lugar de VB6.
Si el problema que está tratando de resolver es un cálculo largo y desea mantener la IU receptiva, entonces una posibilidad es llamar con frecuencia a la función DoEvents
dentro de su largo cálculo. De esta manera, su programa puede procesar cualquier mensaje de Windows y, por lo tanto, la IU responderá a los comandos del usuario. También puede configurar un botón Cancelar para señalar su proceso que necesita finalizar.
Si hace esto, tendrá que tener cuidado de deshabilitar cualquier control que pueda causar un problema, como ejecutar el proceso largo una segunda vez después de que haya comenzado.
Puede usar el Interop Forms Toolkit 2.0 para multihebra en VB6. El Toolkit le permite aprovechar las características de .NET sin tener que pasar por una actualización. Por lo tanto, también puede usar .NET User Controls como controles ActiveX en VB6.
- 1. Visual Basic 6.0 Case Statement
- 2. Documentación del código de Visual Basic 6.0
- 3. Cómo hacer desarrollo y construir en Visual Basic 6.0
- 4. Ejemplo de MySQL para Visual Basic 6.0 - leer/escribir
- 5. ¿Casting en Visual Basic?
- 6. ¿Cómo puedo llamar a un método Visual Basic 6.0 en C#?
- 7. ¿Por qué las enumeraciones de TypeLib no están expuestas como enumeraciones en Visual Basic 6.0?
- 8. ¿Cuál es el orden de precedencia del operador en Visual Basic 6.0?
- 9. Hex-Value en Visual Basic
- 10. visual basic y vb.net
- 11. Función de suspensión Visual Basic
- 12. Dimensiones de la pantalla en Visual Basic
- 13. Redondeo de un número en Visual Basic
- 14. Cómo usar un mutex en Visual Basic
- 15. Tamaño de la matriz en Visual Basic?
- 16. Usando Git con Visual Source Safe 6.0
- 17. Las quines desaparecidas: Visual Basic (para Aplicaciones)
- 18. Visual Basic 6 y rutas UNC
- 19. ¿Más fácil que Visual Basic 6?
- 20. ¿Hay un decompilador de Visual Basic 6?
- 21. Apertura de vbp Proyecto de Visual Basic
- 22. Expresión regular de Visual Basic Pregunta
- 23. ¿Visual Basic 6 todavía se usa ampliamente?
- 24. 'Friend WithEvents' en Visual Basic vs. 'privado' en C#
- 25. C++ MultiThreading con visual studio express 2010 Formularios Aplicación
- 26. Crystal Report gratis en Visual Basic 2010 Express
- 27. Pasando referencia de objeto en Visual Basic (VBA)
- 28. ¿Sintaxis de inicialización de colección en Visual Basic 2008?
- 29. Obtener URL actual en IE con Visual Basic
- 30. ¿Cómo implementar el constructor de clase en Visual Basic?