Ver Mensaje Individual
  #9 (permalink)  
Antiguo 13/03/2014, 18:55
carbon
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Problema con ventana wxPython, se traba al comprobar conexiones sockets

Entiendo perfectamente que no quieras publicar tu código, es totalmente logico y no hay nada de malo con ello . Por eso, antes de que me pases el codigo intentemos ver que anda mal. Intenta esto:

Código Python:
Ver original
  1. class Soket(threading.Thread):
  2.     def __init__(self, Incremento, IncNums, Total, ComprobarIP, gauge, Listado, COMPPUERTOS):
  3.         threading.Thread.__init__(self)
  4.         self.INCREMENTO = Incremento
  5.         self.INCNUMS = IncNums
  6.         self.TOTAL = Total
  7.         self.COMPROBARIP = ComprobarIP
  8.         self.BarraProgreso = gauge
  9.         self.Listado = Listado
  10.         self.PUERTOS = COMPPUERTOS
  11.    
  12.     def run(self):
  13.         if self.INCREMENTO < self.TOTAL:
  14.             try:
  15.                 self.puertito = int(self.PUERTOS[self.INCREMENTO])
  16.                 Conexion = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  17.                 Conexion.connect((self.COMPROBARIP, self.puertito))
  18.                 #print "Puerto abierto"
  19.                 self.INCREMENTO += 1
  20.                 self.INCNUMS += 1
  21.                 Conexion.close()
  22.                 self.Listado.InsertStringItem(0, "hola")
  23.                 self.Listado.SetStringItem(0, 1, "hola")
  24.                 self.Listado.SetStringItem(0, 2, "hola")
  25.                 self.Listado.SetStringItem(0, 3, "hola")
  26.                 self.run()
  27.             except:
  28.                 self.puertito = int(self.PUERTOS[self.INCREMENTO])
  29.                 #print "Puerto cerrado"
  30.                 self.INCREMENTO += 1
  31.                 self.INCNUMS += 1
  32.                 self.Listado.InsertStringItem(0, "hola")
  33.                 self.Listado.SetStringItem(0, 1, "hola")
  34.                 self.Listado.SetStringItem(0, 2, "hola")
  35.                 self.Listado.SetStringItem(0, 3, "hola")
  36.                 self.run()

Y la otra parte como lo mostraste en tu primer post. En __init__ estabas llamado a la función lalas(), error! Creo que definitivamente era eso, ya que la función start() se encarga de mover a run() a un nuevo hilo y ejecutarla ahi.

Fijate si funciona ahora y me dices.