• Domingo 22 de Diciembre de 2024, 22:36

Autor Tema:  Controlar Instancias, Se Crean Muchas Y Solas?  (Leído 1675 veces)

fefer

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Controlar Instancias, Se Crean Muchas Y Solas?
« en: Jueves 6 de Septiembre de 2007, 21:09 »
0
Hola que tal??   mi problema es el siguiente: tengo una aplicación desarrollada en visual basic 6.0 con sql server y crystal report. cuando la aplicacion es usada constantemente por los usuarios esta comienza a crearme instancias de la aplicación en el equipo donde se esta ejecutando se crean muchisimas instancias ocacionando el colapso del equipo donde se esta ejecutando la aplicación.

Ya revise todas las formas del sistema todas hacen unload, y lo que encontrado en internet para controlar las instancias es un código que permite que se cree una sola instancia de la aplicación, el problema esta en que los usuarios requieren de mas de una instancias.....en si necesito encontrar que pudiera estar generandome este problema?

De antemano gracias a quien pueda ayudarme .... :(

Saludos :hola:

Jennifer

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Controlar Instancias, Se Crean Muchas Y Solas?
« Respuesta #1 en: Jueves 6 de Septiembre de 2007, 23:45 »
0
no tienes parte de codigo critico?, donde creas tu q esta tu problema?, para que asi te ayudemos a solucionar tu problema :D

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Controlar Instancias, Se Crean Muchas Y Solas?
« Respuesta #2 en: Sábado 8 de Septiembre de 2007, 04:05 »
0
Lo lógico es que cada usuario tenga su instancia, y esto debe suceder en cada ordenador. El problema lo tiemes está mal explicado, pués quedan dudas de si en un ordenador lo utiliza uno o varios usuarios al mismo tiempo.

Si lo utiliza un sólo usuario, entonces debes controlar que no se realicen más instancias del mismo, o bien limita a cierto número de instancias...

usa el siguiente código para limitar a una sola instancia:

Código: Text
  1.  
  2. Private Sub Form_Initialize()
  3.     Dim Ya_Existe As Integer
  4.     Ya_Existe = App.PrevInstance
  5.  
  6.     If Ya_Existe <> 0 Then
  7.        MsgBox "El Programa ya se esta ejecutando, sólo se permite una instancia", 0 + 48, "nombre del programa aquí ..."
  8.        End
  9.      End If
  10. End Sub
  11.  

es posible que seas tu mismo quien desde el cóodigo llame a más instancias del programa, revisa alguna parte de código que te hayan 'pasado' y del que hayas hecho un copy-paste, sin verificarlo un poco...

p.D.: después de releer tu mensaje varias veces más, sospecho otra cosa, te doy la siguiente info pués:
En cualquier caso hay una forma más elegante de solucionar todo esto.... si se necesitan más de una instancia pero no quieres que se desborde .

crearé un pequeño programa de ejmplo y mañana o pasado lo cuelgo.. OK ?
«Ma non troppo»
----> ModoVacaciones = False<----

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Controlar Instancias, Se Crean Muchas Y Solas?
« Respuesta #3 en: Sábado 8 de Septiembre de 2007, 12:52 »
0
Hola mira, ya he creado un ejemplo.... descargas el fichero de la dirección que te doy luego, descomprimes el rar y ejecutas el exe, verás que puedes abrir 5 instancias y no más, excepto que vayas a las opciones y modifiques el valor.... una vez que veas que funciona perfectamente, abres el proyecto y lo ejecutas paso a paso. sin embargo en modo debug, sólo podrás abrir una instancia, el modo de probar lo que sucede en otras instancias, exige que previamente abras las instancias desde el ejecutable y luego desde el proyecto (así puedes comprobar otra instancia distinta de la 1ª) espero que será suficiente para que compruebes y comprendas el código, si tienes dudas.... pregunta, aunque a veces tardo en entrar al foro....

Descargar el ejemplo desde: My Webpage

P.D.: le he añadido una opción en línea de comando para superar un posble bloqueo (en la próxima apertura) si por alguna razón (un fallo de corriente, por ejemplo) se colgó el ordenador con todas las instancias en curso (aunque también valdría eliminar el archivo de configuración, pero puesto que se supone que al final dicho archivo tendrá muchas más opciones de la aplicación, se ha provisto esta solución)... Si en ese entretiempo alguien intentó descargar el fichero es posible que no haya podido...

Saludos...
«Ma non troppo»
----> ModoVacaciones = False<----