Re: [Gvsig_usuarios] Barra de progreso en un script

2017-07-03 Thread Ovidio Ribeira
Buenos dia Joaquín, gracias por tu ayuda.

Probe lo que me dijiste pero la barra de estada no se "mueve" durante el 
proceso,  si que aparece completa al terminarlo, y por la consola si que se va 
incrementando el contador de las iteraciones, la base del script es la 
siguiente:



# encoding: utf-8

import gvsig
from gvsig import *
from gvsig.libs.formpanel import FormPanel
from gvsig.libs.formpanel import *
import os

class BarraEstado(FormPanel):

def __init__(self):
  
FormPanel.__init__(self,os.path.join(os.path.dirname(__file__),"lista.xml"))
  self.setPreferredSize(290,200) #tamaño

def Sair_click(self,*args):
  self.hide()

def Procesar_click(self,*args):
  features = gvsig.currentLayer().features()
  self.BarraEstado.setMaximum(features.getSize())
  self.BarraEstado.setIndeterminate(False)
  count = 0
  self.BarraEstado.setValue(count)
  for f in features:
self.BarraEstado.setValue(count)
clave1 = f.PARCELA_RV
self.clave.setText( str(int(clave1)))
print count
print clave1
count=count+1
def main(*args):

l = BarraEstado()
l.showTool(u"Xestión")#Remove this lines and add here your code


En la etiqueta también solo muestra la última y al final del proceso, ¿Que 
estoy haciendo mal?

Saludos y gracias

Ovidio




De: gvsig_usuarios-boun...@listserv.gva.es 
 en nombre de Joaquin Jose del Cerro 
Murciano 
Enviado: viernes, 30 de junio de 2017 12:14
Para: Lista de Usuarios de gvSIG
Asunto: Re: [Gvsig_usuarios] Barra de progreso en un script



El 30 de junio de 2017, 10:57, Ovidio Ribeira 
mailto:albore...@hotmail.es>> escribió:

Tengo un script con una interfaz grafica creada con Abeille, pero no sé como se 
puede integrar una barra de estado con el proceso de iteración sobre una capa, 
se agradece la ayuda.

Hola.

Asi, muy rapido, sin pensarlo mucho y sin probar lo que te pongo aqui, solo a 
modo de idea...

En abeille tiene un componenten JProgressbar en la toolbar de componentes.
Es un componente standard de swing, su javadoc puedes encontrarlo en

  https://docs.oracle.com/javase/7/docs/api/javax/swing/JProgressBar.html

Prueba a meterlo en tu formulario, y luego solo tienes que usarlo desde tu 
script.
Tiene dos o tres metodos interesantes. Aqui te dejo un pequeño caso de uso:

  features = gvsig.currentLayer().features()

  self.pgbProgreso.setMaximum(features.getSize())
  self.pgbProgreso.setIndeterminate(False)
  count = 0
  for f in features:
self.pgbProgreso.setValue(count)

# Ahora hacemos lo que sea que haya que hacer con la feature.
procesar(f)

count += 1

Puedes añadir alguna etiqueta mas en el forlario y vas añadiendo en ella 
informacion sobre lo que vas haciendo.
Ten cuidado de no actualizar etiquetas del formulario a lo bestia, por ejemplo 
en cada iteracion sobre una capa
gigantesca, eso puede relentizar el proceso.

Espero que sirva.

Un saludo
Joaquin




Gracias y Saludos

___
gvSIG_usuarios mailing list
gvSIG_usuarios@listserv.gva.es

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección:

https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios




--
--
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
jjdelce...@gvsig.com
jjdelce...@gvsig.org
gvSIG Association
www.gvsig.com
www.gvsig.org
___
gvSIG_usuarios mailing list
gvSIG_usuarios@listserv.gva.es

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección:

https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios


Re: [Gvsig_usuarios] Error al abrir un proyecto

2017-07-03 Thread Mario Carrera


Hola Eduardo,

¿puedes adjuntarnos el nuevo gvSIG.log? Si abres gvSIG, abres el 
proyecto y cierras gvSIG después solo será el que se llama gvSIG.log, 
que es el que contiene la información importante. Los otros dos se 
generan cando la sesión de gvSIG es muy larga, pero es más difícil 
acotar el error porque es demasiada información.


Saludos,
 Mario



El 02/07/17 a las 19:03, Eduardo Méndez Pírez escribió:


Nada Mario, mismo resultado fallido. Sigue sin abrirse.

Gracias.




*De:* gvsig_usuarios-boun...@listserv.gva.es 
 en nombre de Mario Carrera 


*Enviado:* viernes, 30 de junio de 2017 9:52
*Para:* gvsig_usuarios@listserv.gva.es
*Asunto:* Re: [Gvsig_usuarios] Error al abrir un proyecto

Hola Eduardo,

hemos corregido una línea. Te adjunto el proyecto de nuevo. Si acaso 
cambia de carpeta el original para poder recuperarlo después, y dejas 
caer el que te adjunto en la carpeta donde estaba el otro. Prueba a 
abrirlo y nos comentas.


Saludos,
 Mario



El 29/06/17 a las 22:33, Eduardo Méndez Pírez escribió:


Hola Mario,

No sé a lo que te refieres con el log completo. Acabo de realizar la 
misma operación de abrir el proyecto, cerrar el programa y  en la 
carpeta 
C:\Users\Eduardo\Downloads\gvSIG-desktop-2.3.1-2501-final-win-x86_64\home\gvSIG 
se generan cinco archivos con fecha de hoy (2 xml, 1 info y 2 log), 
te envío los dos log





*De:* gvsig_usuarios-boun...@listserv.gva.es 
 en nombre de Mario Carrera 


*Enviado:* jueves, 29 de junio de 2017 12:32
*Para:* gvsig_usuarios@listserv.gva.es
*Asunto:* Re: [Gvsig_usuarios] Error al abrir un proyecto

Hola Eduardo,

¿puedes enviarnos el log completo tras intentar abrir el proyecto?

Saludos,
  Mario



El 28/06/17 a las 21:06, Eduardo Méndez Pírez escribió:


Hola Mario, buenas tardes y gracias por tu atención.

Si es el proyecto que no me abre y sigue sin hacerlo. Te adjunto el 
mensaje que me da la consola. Uso la portable 2.3.1


Un saludo.

Eduardo


Can't perform action 'application-project-open'.
java.lang.NullPointerException: null

org.gvsig.raster.impl.grid.render.DefaultRender.buildFiltersFromPersistencyFilterParam(DefaultRender.java:1013)

org.gvsig.raster.impl.store.DefaultRasterStore.loadFromState(DefaultRasterStore.java:1049)

org.gvsig.tools.persistence.impl.SimplePersistenceFactory.loadFromState(SimplePersistenceFactory.java:129)

org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:298)

org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$000(DefaultPersistentContext.java:73)

org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:161)

org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:161)

org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:143)

org.gvsig.raster.fmap.layers.DefaultFLyrRaster.loadFromState(DefaultFLyrRaster.java:1809)

org.gvsig.tools.persistence.impl.SimplePersistenceFactory.loadFromState(SimplePersistenceFactory.java:129)

org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:298)

org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$000(DefaultPersistentContext.java:73)

org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:161)

org.gvsig.tools.persistence.impl.DelegatedContainer.getObject(DelegatedContainer.java:113)

org.gvsig.tools.persistence.impl.DelegatedCollection$1DelegatedIterator.next(DelegatedCollection.java:175)

org.gvsig.tools.persistence.impl.AbstractPersistentState.getValues(AbstractPersistentState.java:182)

org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:172)

org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:143)

org.gvsig.tools.persistence.impl.AbstractPersistentState.getIterator(AbstractPersistentState.java:239)
org.gvsig.fmap.mapcontext.layers.FLayers.loadFromState(FLayers.java:767)

org.gvsig.tools.persistence.impl.SimplePersistenceFactory.loadFromState(SimplePersistenceFactory.java:129)

org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:298)

org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$000(DefaultPersistentContext.java:73)

org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:161)

org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:161)

org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:143)
org.gvsig.fmap.map

[Gvsig_usuarios] Problemas con versión 2.3

2017-07-03 Thread Vikysuas
Buenas tardes, he instalado gvsig y el problema que estoy teniendo es que al
mover el ratón por la ventana se va duplicando la imágen por las zonas por
donde se mueve el cursor. Alguna idea? Un saludo y gracias!



--
View this message in context: 
http://osgeo-org.1560.x6.nabble.com/Problemas-con-version-2-3-tp5326405.html
Sent from the gvSIG usuarios mailing list archive at Nabble.com.
___
gvSIG_usuarios mailing list
gvSIG_usuarios@listserv.gva.es

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección:

https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios


Re: [Gvsig_usuarios] Barra de progreso en un script

2017-07-03 Thread Joaquin Jose del Cerro Murciano
El 3 de julio de 2017, 9:01, Ovidio Ribeira  escribió:

> Buenos dia Joaquín, gracias por tu ayuda.
>
> Probe lo que me dijiste pero la barra de estada no se "mueve" durante el
> proceso,  si que aparece completa al terminarlo, y por la consola si que se
> va incrementando el contador de las iteraciones, la base del script es la
> siguiente:
>
>
>
# encoding: utf-8
>
> import gvsig
> from gvsig import *
> from gvsig.libs.formpanel import FormPanel
> from gvsig.libs.formpanel import *
> import os
>
> class BarraEstado(FormPanel):
>
> def __init__(self):
>   FormPanel.__init__(self,os.path.join(os.path.dirname(__
> file__),"lista.xml"))
>   self.setPreferredSize(290,200) #tamaño
>
> def Sair_click(self,*args):
>   self.hide()
>
> def Procesar_click(self,*args):
>   features = gvsig.currentLayer().features()
>   self.BarraEstado.setMaximum(features.getSize())
>   self.BarraEstado.setIndeterminate(False)
>   count = 0
>   self.BarraEstado.setValue(count)
>   for f in features:
> self.BarraEstado.setValue(count)
> clave1 = f.PARCELA_RV
> self.clave.setText( str(int(clave1)))
> print count
> print clave1
> count=count+1
> def main(*args):
>
> l = BarraEstado()
> l.showTool(u"Xestión")#Remove this lines and add here your code
>
>
> En la etiqueta también solo muestra la última y al final del proceso, ¿Que
> estoy haciendo mal?
>


Perdona, se me olvido ese detalle, muy rapido conteste.

Hay un problema de hilos de ejecucion.
Para explicarlo de forma simple, serial algo como que todas las cosas de
swing se ejecutan en un mismo hilo de ejecucion, incluidos los venetos. Y
ese hilo lo tienes pillado haciendo tu proceso. Asi que aunque actualizas
controles graficos estos no se refrescan hasta que termina el proceso y el
hilo de swing vuelva a poder refrescar los controles graficos. Momento en
que se ejecutan todas las actualizaciones de golpe y te aparece la barra ya
al final. Si tu proceso se ejecutase en otro hilo de ejecucion distinto al
de swing, este estaria libre para atender las peticiones que actualizacion
de controles graficos y podria ir actualizandose los controles conforme se
vayan precisando (esto puedo causar otros problemas, pero para lo que vas a
realizar en tu proceso y en general para lo que se suele hacer desde
scripting lo vamos a oviar).

Commo eso ya se me dio en algun otro momento, añadi algo de api del
FormPanel para poder tratarlo de forma simple.
Prueba a añadir la linea

  self.Procesar_click.setSynchronous(False)

Al final del metodo __init__.

Es un pequeño hack del FormPanel para indicar que ese evento se ejecute de
forma asincrona, en otro hilo de ejecucion. El ya se encargara de contruir
otro hilo de ejecucion y ejecutar tu evento en el.
Ya me comentas si asi te funciona.

Un saludo
Joaquin





> Saludos y gracias
>
> Ovidio
>
>
>
>
> --
> *De:* gvsig_usuarios-boun...@listserv.gva.es  listserv.gva.es> en nombre de Joaquin Jose del Cerro Murciano <
> jjdelce...@gvsig.org>
> *Enviado:* viernes, 30 de junio de 2017 12:14
> *Para:* Lista de Usuarios de gvSIG
> *Asunto:* Re: [Gvsig_usuarios] Barra de progreso en un script
>
>
>
> El 30 de junio de 2017, 10:57, Ovidio Ribeira 
> escribió:
>
>> Tengo un script con una interfaz grafica creada con Abeille, pero no sé
>> como se puede integrar una barra de estado con el proceso de iteración
>> sobre una capa, se agradece la ayuda.
>>
>>
> Hola.
>
> Asi, muy rapido, sin pensarlo mucho y sin probar lo que te pongo aqui,
> solo a modo de idea...
>
> En abeille tiene un componenten JProgressbar en la toolbar de componentes.
> Es un componente standard de swing, su javadoc puedes encontrarlo en
>
>   https://docs.oracle.com/javase/7/docs/api/javax/swing/JProgressBar.html
>
> Prueba a meterlo en tu formulario, y luego solo tienes que usarlo desde tu
> script.
> Tiene dos o tres metodos interesantes. Aqui te dejo un pequeño caso de uso:
>
>   features = gvsig.currentLayer().features()
>
>   self.pgbProgreso.setMaximum(features.getSize())
>   self.pgbProgreso.setIndeterminate(False)
>   count = 0
>   for f in features:
> self.pgbProgreso.setValue(count)
>
> # Ahora hacemos lo que sea que haya que hacer con la feature.
> procesar(f)
>
> count += 1
>
> Puedes añadir alguna etiqueta mas en el forlario y vas añadiendo en ella
> informacion sobre lo que vas haciendo.
> Ten cuidado de no actualizar etiquetas del formulario a lo bestia, por
> ejemplo en cada iteracion sobre una capa
> gigantesca, eso puede relentizar el proceso.
>
> Espero que sirva.
>
> Un saludo
> Joaquin
>
>
>
>
>> Gracias y Saludos
>>
>> ___
>> gvSIG_usuarios mailing list
>> gvSIG_usuarios@listserv.gva.es
>>
>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>> darse de baja en esta lista, acuda a la siguiente dirección:
>>
>> https://listserv.gva.es/cgi-bin/mailman/listinfo/g

Re: [Gvsig_usuarios] Barra de progreso en un script

2017-07-03 Thread Ovidio Ribeira
Perfecto, Joaquín

Saludos y gracias



De: gvsig_usuarios-boun...@listserv.gva.es 
 en nombre de Joaquin Jose del Cerro 
Murciano 
Enviado: lunes, 3 de julio de 2017 9:41
Para: Lista de Usuarios de gvSIG
Asunto: Re: [Gvsig_usuarios] Barra de progreso en un script



El 3 de julio de 2017, 9:01, Ovidio Ribeira 
mailto:albore...@hotmail.es>> escribió:

Buenos dia Joaquín, gracias por tu ayuda.

Probe lo que me dijiste pero la barra de estada no se "mueve" durante el 
proceso,  si que aparece completa al terminarlo, y por la consola si que se va 
incrementando el contador de las iteraciones, la base del script es la 
siguiente:



# encoding: utf-8

import gvsig
from gvsig import *
from gvsig.libs.formpanel import FormPanel
from gvsig.libs.formpanel import *
import os

class BarraEstado(FormPanel):

def __init__(self):
  
FormPanel.__init__(self,os.path.join(os.path.dirname(__file__),"lista.xml"))
  self.setPreferredSize(290,200) #tamaño

def Sair_click(self,*args):
  self.hide()

def Procesar_click(self,*args):
  features = gvsig.currentLayer().features()
  self.BarraEstado.setMaximum(features.getSize())
  self.BarraEstado.setIndeterminate(False)
  count = 0
  self.BarraEstado.setValue(count)
  for f in features:
self.BarraEstado.setValue(count)
clave1 = f.PARCELA_RV
self.clave.setText( str(int(clave1)))
print count
print clave1
count=count+1
def main(*args):

l = BarraEstado()
l.showTool(u"Xestión")#Remove this lines and add here your code


En la etiqueta también solo muestra la última y al final del proceso, ¿Que 
estoy haciendo mal?


Perdona, se me olvido ese detalle, muy rapido conteste.

Hay un problema de hilos de ejecucion.
Para explicarlo de forma simple, serial algo como que todas las cosas de swing 
se ejecutan en un mismo hilo de ejecucion, incluidos los venetos. Y ese hilo lo 
tienes pillado haciendo tu proceso. Asi que aunque actualizas controles 
graficos estos no se refrescan hasta que termina el proceso y el hilo de swing 
vuelva a poder refrescar los controles graficos. Momento en que se ejecutan 
todas las actualizaciones de golpe y te aparece la barra ya al final. Si tu 
proceso se ejecutase en otro hilo de ejecucion distinto al de swing, este 
estaria libre para atender las peticiones que actualizacion de controles 
graficos y podria ir actualizandose los controles conforme se vayan precisando 
(esto puedo causar otros problemas, pero para lo que vas a realizar en tu 
proceso y en general para lo que se suele hacer desde scripting lo vamos a 
oviar).

Commo eso ya se me dio en algun otro momento, añadi algo de api del FormPanel 
para poder tratarlo de forma simple.
Prueba a añadir la linea

  self.Procesar_click.setSynchronous(False)

Al final del metodo __init__.

Es un pequeño hack del FormPanel para indicar que ese evento se ejecute de 
forma asincrona, en otro hilo de ejecucion. El ya se encargara de contruir otro 
hilo de ejecucion y ejecutar tu evento en el.
Ya me comentas si asi te funciona.

Un saludo
Joaquin





Saludos y gracias

Ovidio




De: 
gvsig_usuarios-boun...@listserv.gva.es
 
mailto:gvsig_usuarios-boun...@listserv.gva.es>>
 en nombre de Joaquin Jose del Cerro Murciano 
mailto:jjdelce...@gvsig.org>>
Enviado: viernes, 30 de junio de 2017 12:14
Para: Lista de Usuarios de gvSIG
Asunto: Re: [Gvsig_usuarios] Barra de progreso en un script



El 30 de junio de 2017, 10:57, Ovidio Ribeira 
mailto:albore...@hotmail.es>> escribió:

Tengo un script con una interfaz grafica creada con Abeille, pero no sé como se 
puede integrar una barra de estado con el proceso de iteración sobre una capa, 
se agradece la ayuda.

Hola.

Asi, muy rapido, sin pensarlo mucho y sin probar lo que te pongo aqui, solo a 
modo de idea...

En abeille tiene un componenten JProgressbar en la toolbar de componentes.
Es un componente standard de swing, su javadoc puedes encontrarlo en

  https://docs.oracle.com/javase/7/docs/api/javax/swing/JProgressBar.html

Prueba a meterlo en tu formulario, y luego solo tienes que usarlo desde tu 
script.
Tiene dos o tres metodos interesantes. Aqui te dejo un pequeño caso de uso:

  features = gvsig.currentLayer().features()

  self.pgbProgreso.setMaximum(features.getSize())
  self.pgbProgreso.setIndeterminate(False)
  count = 0
  for f in features:
self.pgbProgreso.setValue(count)

# Ahora hacemos lo que sea que haya que hacer con la feature.
procesar(f)

count += 1

Puedes añadir alguna etiqueta mas en el forlario y vas añadiendo en ella 
informacion sobre lo que vas haciendo.
Ten cuidado de no actualizar etiquetas del formulario a lo bestia, por ejemplo 
en cada iteracion sobre una capa
gigantesca, eso puede relentizar el proceso.

Espero que sirva.

Un saludo
Joaquin




Gracias y Saludos

_

Re: [Gvsig_usuarios] Barra de progreso en un script

2017-07-03 Thread Joaquin Jose del Cerro Murciano
El 3 de julio de 2017, 10:41, Ovidio Ribeira 
escribió:

> Perfecto, Joaquín
>

Uuiiis, se me ha olvidado comentarte un efecto segundario de este cambio.
El codigo del metodo "Procesar_click" ahora se ejecutara en un hilo de
ejecucion separado. Esto hace que la aplicacion no se quede "colgada"
mientras se esta ejecutando; pero claro, los botones de "Sair" y "Procesar"
siguen activos y el usuario puede darles a mitad del proceso. El de "Sair"
no es muy grave, se cerrara la ventana pero seguira activo el proceso, no
lo termina. El de "Procesar" es mas grave. Volveria a lanzar otra vez el
proceso en paralelo al que ya se esta ejecutando. Y asi una vez por cada
una que se le diese al boton. Habria que "protegerse" un poco en el codigo
frente a esas cosas.

Por un lado yo deshabilitaria el boton "Procesar" al entrar en el metodo y
lo volveria a habilitar al salir.


  def Procesar_click(self,*args):
try:
  self.Procesar.setEnabled(False)

  features = gvsig.currentLayer().features()
  self.BarraEstado.setMaximum(features.getSize())
  self.BarraEstado.setIndeterminate(False)
  count = 0
  self.BarraEstado.setValue(count)
  for f in features:
self.BarraEstado.setValue(count)
clave1 = f.PARCELA_RV
self.clave.setText( str(int(clave1)))
print count
print clave1
count=count+1

finally:
  self.Procesar.setEnabled(True)


la contruccion try/finally nos garantiza que siempre se ejecute lo que hay
en el finally al acabar de ejecutarse el codigo que hay dentro del try, sea
por que llega al final, por que se salga a mitad de el con un return o por
que se produzca un error y se aborte la ejecucion de este.

Lo del boton "Sair", yo lo que haria seria declarar un attributo mas en la
clase, algo como "cancelarProceso", ponerlo a True cuando se entre en el
metodo "Sair_click" y preguntar por el en el bucle del evento
"Procesar_click". Algo como:

class BarraEstado(FormPanel):

def __init__(self):

FormPanel.__init__(self,os.path.join(os.path.dirname(__file__),"lista.xml"))
  self.setPreferredSize(290,200) #tamaño
  self.Procesar_click.setSynchronous(False)
  self.cancelarProceso = False  # <

def Sair_click(self,*args):
  self.cancelarProceso = True  # <
  self.hide()

def Procesar_click(self,*args):
  try:
self.Procesar.setEnabled(False)

features = gvsig.currentLayer().features()
self.BarraEstado.setMaximum(features.getSize())
self.BarraEstado.setIndeterminate(False)
count = 0
self.BarraEstado.setValue(count)
for f in features:
  if self.cancelarProceso: # <
return # <
  self.BarraEstado.setValue(count)
  clave1 = f.PARCELA_RV
  self.clave.setText( str(int(clave1)))
  print count
  print clave1
  count=count+1

  finally:
self.Procesar.setEnabled(True)
self.cancelarProceso = False   # <

Cuando estas trabajando con varios hilos de ejecucion puede serte de
utilidad la herramienta "Herramientas->Thread list" que hay en el editor de
scripts.
Te permite ver los hilos que hay en ejecucion y desde hay puedes
cancelarlos (mejor que solo intentes cancelar los que hayas creado tu,
gvSIG tiene los suyos que mejor no tocar).
Ahi puedes comprobar (antes de hacer los cambios que he sugerido) como al
pulsar en el boton "Procesar" se crea el hilo de ejecucion de tu proceso, y
como aunque le des ha salir este sigue en ejecucion, y lo mas importante si
lanzas un proceso largo y quieres cancelarlo puedes hacerlo desde ahi.
Precisaras tener instalado el plugin ScriptingComposerTools para tener esta
herramienta.


Espero que te sirba.
Un saludo

Joaquin



> Saludos y gracias
>
>
> --
> *De:* gvsig_usuarios-boun...@listserv.gva.es  listserv.gva.es> en nombre de Joaquin Jose del Cerro Murciano <
> jjdelce...@gvsig.org>
> *Enviado:* lunes, 3 de julio de 2017 9:41
>
> *Para:* Lista de Usuarios de gvSIG
> *Asunto:* Re: [Gvsig_usuarios] Barra de progreso en un script
>
>
>
> El 3 de julio de 2017, 9:01, Ovidio Ribeira 
> escribió:
>
>> Buenos dia Joaquín, gracias por tu ayuda.
>>
>> Probe lo que me dijiste pero la barra de estada no se "mueve" durante el
>> proceso,  si que aparece completa al terminarlo, y por la consola si que se
>> va incrementando el contador de las iteraciones, la base del script es la
>> siguiente:
>>
>>
>>
> # encoding: utf-8
>>
>> import gvsig
>> from gvsig import *
>> from gvsig.libs.formpanel import FormPanel
>> from gvsig.libs.formpanel import *
>> import os
>>
>> class BarraEstado(FormPanel):
>>
>> def __init__(self):
>>   FormPanel.__init__(self,os.path.join(os.path.dirname(__file_
>> _),"lista.xml"))
>>   self.setPreferredSize(290,200) #tamaño
>>
>> def Sair_click(self,*args):
>>   self.hide()
>>
>> def Procesar_click(self,*args):
>>   fea