Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: soru13 en 22 Octubre 2011, 19:20 pm



Título: ayuda con for instantáneo
Publicado por: soru13 en 22 Octubre 2011, 19:20 pm
Hola amigos, tengo el siguiente código

Código
  1. Private Sub Command1_Click()
  2. 'Este command crea un nuevo Form1 cada ves que lo presionamos
  3. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  4.    'Variable de tipo Form
  5.    Dim Nuevo_Form As Form
  6.    'Creamos un nuevo objeto Form1
  7.    Set Nuevo_Form = New Form1
  8.    'Establecemos Algunas propiedades para este form
  9.    ''''''''''''''''''''''''''''''''''''''''''''''''''
  10.    'Lo hacemos visible
  11.    With Nuevo_Form
  12.        .Visible = True
  13.        .BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
  14.        .Caption = "Formulario: " & Forms.Count
  15.        .WebBrowser1.Navigate (Form1.WebBrowser1.LocationURL)
  16.    End With
  17. End Sub
  18.  
  19. Private Sub Command4_Click()
  20. On Error Resume Next 'Realiza el ataque
  21. formularios2 = Forms.Count
  22. For atacar = 1 To formularios2
  23. Forms(atacar).WebBrowser1.Document.Forms(0).submit
  24. Next atacar
  25. End Sub
  26.  

El primer command lo que hace es generar en tiempo de ejecución otro formulario igual al que está abierto, el cual tiene un webbrowser que carga una página web que contiene un formulario, y el segundo botón se encarga de mandarlo. El problema es que necesito que si por ejemplo genero 10 formularios iguales, los cuales rellenan el formulario de distinta forma, necesito que con el Command4, me mande todos los formularios en el mismo instante,ya que es de vital importancia que llegen todos en el mismo segundo, ya que con el For, si por ejemplo pongo 20 formularios, no me llegan todos al mismo segundo, ya que primero manda el primero, luego el segundo, etc, aunque la diferencia sea alomejor de medio segundo, cuando ha mandado el formulario 10 esa diferencia alomejor ya es de 5 segundos y necesito que llegen todos en el mismo segundo.

¿A alguien se le ocurre como podría hacer esto? ¿Debería usar otro método que no sea el For? ¿Como cual?

Gracias y un saludo.


Título: Re: ayuda con for instantáneo
Publicado por: Elemental Code en 22 Octubre 2011, 20:46 pm
me parece que es algun problema de threading? :S


Título: Re: ayuda con for instantáneo
Publicado por: BlackZeroX en 23 Octubre 2011, 03:03 am
.
Jamas te saldran al mismo tiempo eso lo sale cualquiera!¡, debido a distintos factores, por ejemplo:

1.- Un servidor web genera una cola de peticiones (Atendidas de manera paralela).
2.- VB6 asi como lo estas ocupando esta en un solo hilo, por ende sera imposible mandarlo en un rango de milisegundos dados, jamas se mandara extrictamente al mismo tiempo!¡.
3.- Deberas ocupar Hilos para esto. VB6 NO ES ESTABLE CON HILOS...
4.- Emplea un for each en lugar de un for simple...

P.D.: Si tienes alguna duda con lo que te he puesto sera bueno que investigues un poco mas en Google (con respecto a los hilos y for each) o que sues el buscador del foro.

Dulces Lunas!¡.