Afinando ventana progresos!!
parent
00182b5260
commit
d9e0cc8a1d
|
|
@ -900,7 +900,7 @@ namespace OliviaAddInPro.Helper
|
|||
var av = (int)o;
|
||||
if (av > 0)
|
||||
{
|
||||
cps.SetProgress( cps.GetProgress()+ ((double)av/100*Math.Min(incmax, 100-valini)));
|
||||
cps.SetProgress(valini + (Math.Min((double)av/100.0, 100.0)*Math.Min(incmax, 100-valini)));
|
||||
}
|
||||
// if ((int)o < 0)
|
||||
//System.Windows.MessageBox.Show(msg2);
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@ namespace OliviaAddInPro.Model
|
|||
{
|
||||
ProceSrv.ConfigConex();
|
||||
res2 = ProceSrv.start(LanzaSrv.str_cfg, ProgrSrc._ProgrSrc);
|
||||
if(!LanzaSrv.EsperaProcess(GeneralDef.NombOlvTasks))
|
||||
res2.Error.Add("No se ha podido cerrar oliviaTask.");
|
||||
}
|
||||
}
|
||||
if (res.HasError)
|
||||
|
|
|
|||
|
|
@ -89,6 +89,8 @@ namespace OliviaAddInPro.Model
|
|||
{
|
||||
ProceSrv.ConfigConex();
|
||||
res2 = ProceSrv.start(LanzaSrv.str_cfg, ProgrSrc._ProgrSrc);
|
||||
if (!LanzaSrv.EsperaProcess(GeneralDef.NombOlvTasks))
|
||||
res2.Error.Add("No se ha podido cerrar oliviaTask.");
|
||||
}
|
||||
}
|
||||
if (res.HasError)
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ namespace OliviaAddInPro.Services
|
|||
//Guarda el nombre
|
||||
OliviaGlob.Paths.PathData = OliviaGlob.Paths.DirData + com.NombreShpExport;
|
||||
|
||||
com.ProgrSrc.IncMessage(50, "Preparando exportación de red navegable");
|
||||
com.ProgrSrc.IncMessage(10, "Preparando exportación de red navegable");//50%
|
||||
|
||||
//hace intersecciones espaciales en caso de ámbitos lineales para quitar los que tienen más parte fuera de la zona que dentro
|
||||
//REVISAR
|
||||
|
|
@ -199,12 +199,12 @@ namespace OliviaAddInPro.Services
|
|||
return false;
|
||||
|
||||
}
|
||||
com.ProgrSrc.IncMessage(60, "Exportando red navegable");
|
||||
com.ProgrSrc.IncMessage(10, "Exportando red navegable");//60%
|
||||
|
||||
//Prepara nombre de exportación
|
||||
com.NombreShpExportNw = prefNameExportNw + fechaHora + extShp;
|
||||
//exporta los datos de entrada
|
||||
if (!HelperGdb.ExportShp2(OliviaGlob.Paths.PathGdbNw, filtroEspacial, com.NombreShpExportNw, OliviaGlob.Paths.DirData, com.ProgrSrc._ProgrSrc,40))
|
||||
if (!HelperGdb.ExportShp2(OliviaGlob.Paths.PathGdbNw, filtroEspacial, com.NombreShpExportNw, OliviaGlob.Paths.DirData, com.ProgrSrc._ProgrSrc,100))
|
||||
{
|
||||
ErrStr = "Error al exportar la red navegable: " + HelperGdb.OutStr;
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -184,13 +184,13 @@ namespace OliviaAddInPro.Services.LanzaSrv
|
|||
* Comprueba si OliviaTask ha salido y le espera durante T seg. Si no, para la tarea
|
||||
* return true si ha terminado, false si no
|
||||
*/
|
||||
private bool EsperaProcess(string nombproc)
|
||||
public bool EsperaProcess(string nombproc)
|
||||
{
|
||||
bool esta_geo = true;
|
||||
Process[] pg;
|
||||
|
||||
//le da 3 seg de margen para que se cierre
|
||||
pg = Is_process(nombproc, 1, false);
|
||||
//le da 5 seg de margen para que se cierre
|
||||
pg = Is_process(nombproc, 5, false);
|
||||
esta_geo = (pg != null);
|
||||
|
||||
if (esta_geo)
|
||||
|
|
|
|||
|
|
@ -54,7 +54,18 @@ namespace OliviaAddInPro.Services
|
|||
public Respuesta<TiposEjecucion> start(string cfg, IprocessManager cps)
|
||||
{
|
||||
this.cps = cps;
|
||||
soc = new Cstr_socket();
|
||||
|
||||
try
|
||||
{
|
||||
soc = new Cstr_socket();
|
||||
}
|
||||
catch
|
||||
|
||||
{
|
||||
var resp = new Respuesta<TiposEjecucion>() { Value = TiposEjecucion.FinEjecNOk };
|
||||
resp.Error.Add("Error al crear conexión con olivia task (no se pudo crear socket)");
|
||||
return resp;
|
||||
}
|
||||
|
||||
str_cfg = cfg;
|
||||
/*
|
||||
|
|
@ -62,7 +73,16 @@ namespace OliviaAddInPro.Services
|
|||
{
|
||||
run();
|
||||
};*/
|
||||
return run();
|
||||
var res = run();
|
||||
try
|
||||
{
|
||||
soc.termina();
|
||||
}
|
||||
catch
|
||||
{
|
||||
res.Error.Add("Error al cerrar la conexion con olivia task (no se pudo cerrar el socket)");
|
||||
}
|
||||
return res;
|
||||
}
|
||||
private Respuesta<TiposEjecucion> run()
|
||||
{
|
||||
|
|
@ -74,6 +94,7 @@ namespace OliviaAddInPro.Services
|
|||
int lastprog = 0;
|
||||
var res = new Respuesta<TiposEjecucion>() { Value = TiposEjecucion.FinEjecNOk };
|
||||
cps.SetProceso("Procesando Datos");
|
||||
cps.SetProgress(0);
|
||||
try
|
||||
{
|
||||
do
|
||||
|
|
@ -113,6 +134,7 @@ namespace OliviaAddInPro.Services
|
|||
{
|
||||
cancela_permu = false;
|
||||
}
|
||||
res.Error.Add("Proceso Cancelado por el usuario");
|
||||
}
|
||||
else if (!first_send_cfg && ((Math.Abs(Environment.TickCount) - lastprog) >= m_tm_progr) && !fin) //en caso normal, todo va bien, pide el progreso y la tarea
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue