Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2006
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 99
Poder: 20
javicho_villa Va por buen camino
Unhappy Problemas con archivos bloqueados

Hola a todos:
Muchas gracias por la atención, tengo un problema que me esta causando muchos incovenientes, bueno el problema es el siguiente:

Tengo una aplicación desarrolada en Delphi 6 con Pardox, donde trabajan un promedio de 10 maquinas en RED, es una fabrica de telas (bastante pelusa) donde 4 maquinas trabajan las 24 horas del dia los 365 dias del año.

Bueno en algunos momentos el sistema no responde y hay que salir todos del sistema borrar los archivos *.lck y *.net y se soluciona el problema el asunto es de que esto esta sucediendo casi a diario y aveces de madrugada (un caos total por que no saben q hacer hasta q llegue yo).

Cuando sucede este problema normalemente una de las maquinas se encuentra colgada, entro a ver q sucede y veo que el ejecutable (Textil.exe) se esta ejecutando varias veces (Como lo veo? en el administrador de tareas de windows), cuando logro encontrar que maquina se esta trabando basta con apagar esas maquina o cerrar todos los ejecutables abiertos y se soluciona el problema.

En general cuando una maquina bloquea algun archivo el sistema no funciona en ninguna maquina de la red.

Por favor, si alguien me podria ayudar se lo voy agradecer muchisimo, estoy casi al borde del colapso total.

saludos,

Javier Villa.
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #2  
Antiguo 23-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo mismo es que hay "alguien" que ejecuta más de una vez el programa y de ahí el lío... acaso es que el programa no debería ejecutarse más de una vez por cada máquina, es decir, no debería haber más de una instancia del programa en ejecución.

Una buena solución para evitar que un programa mantenga dos instancias en ejecución la proporciona el compañero Román en su página Web con el componente UIApp.

Claro que no sé si en tu caso bastaría con algo así o habría que mirar por otra solución o soluciones...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 23-10-2006
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 99
Poder: 20
javicho_villa Va por buen camino
Smile Si esta permitido tener mas de 1 instancia del programa

Si esta permitido tener mas de 1 instancia del programa, solo que cuando sucede el problema descubro que haty varios ejecutables de la aplicacion en el adminstrador de windows pero solo se ve una sola instancia en el escritorio de windows, es decir es como si le ubiran dado varios clicks al icono y solo se abrio una sola vez.

ahora la mayoria trabaja con dos o tres instancias del problema para realizar varias operaciones, y hasta dos semanas atras nunca hubo problema alguno.

que opinan ??
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #4  
Antiguo 23-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues a mí se me ocurre que el problema puede estar al cerrarse tu programa. Me explico. No es tanto que alguien haga varias veces "clic" para ejecutar el programa sino que cuando cierran una instancia del programa esta no lo hace en condiciones y se queda en memoria...

Tal vez por ahí pueden ir los tiros, pienso yo, vamos, tal vez convenía revisar qué ocurre cuando se cierra el programa, si te aseguras de "cerrar" todo lo que sea menester, etc. No sé... es lo que pienso, lo mismo estoy equivocándome, ¿eh?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 23-10-2006
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 99
Poder: 20
javicho_villa Va por buen camino
Smile Creo que es uno de los problemas

Hola:
creo q tienes razon, pero creo q solo es uno de los problemas que causa el incoveniente, te pongo el codigo de inicio del programa.

Código Delphi [-]
program Textil;
uses
  Forms,
  PTipoParametro in 'PTipoParametro.pas' {PTipoParametroForm},
  Negocio in 'Negocio.pas' {DM: TDataModule},
  PTipoParametroDato in 'PTipoParametroDato.pas' {PTipoParametroDatoForm},
  PParametro in 'PParametro.pas' {PParametroForm},
  PParametroDato in 'PParametroDato.pas' {PParametroDatoForm},
  Producto in 'Producto.pas' {ProductoForm},
  ProductoDato in 'ProductoDato.pas' {ProductoDatoForm},
  Kardex in 'Kardex.pas' {KardexForm},
  KardexDato in 'KardexDato.pas' {KardexDatoForm},
  Principal in 'Principal.pas' {PrincipalForm},
  ProductoConsulta in 'ProductoConsulta.pas' {ProductoConsultaForm},
  Calculadora in 'Calculadora.pas' {CalculadoraForm},
  GuiaDato in 'GuiaDato.pas' {GuiaDatoForm},
  Transportista in 'Transportista.pas' {TransportistaForm},
  TransportistaDato in 'TransportistaDato.pas' {TransportistaDatoForm},
  TransportistaConsulta in 'TransportistaConsulta.pas' {TransportistaConsultaForm},
  Rollo in 'Rollo.pas' {RolloForm},
  RolloDato in 'RolloDato.pas' {RolloDatoForm},
  TrabajadorConsulta in 'TrabajadorConsulta.pas' {TrabajadorConsultaForm},
  Pedido in 'Pedido.pas' {PedidoForm},
  PedidoDato in 'PedidoDato.pas' {PedidoDatoForm},
  Orden in 'Orden.pas' {OrdenForm},
  OrdenDato in 'OrdenDato.pas' {OrdenDatoForm},
  MaquinaConsulta in 'MaquinaConsulta.pas' {MaquinaConsultaForm},
  PedidoConsulta in 'PedidoConsulta.pas' {PedidoConsultaForm},
  LoteConsulta in 'LoteConsulta.pas' {LoteConsultaForm},
  ControlCalidad in 'ControlCalidad.pas' {ControlCalidadDatoForm},
  Guia in 'Guia.pas' {GuiaForm},
  OrdenConsulta in 'OrdenConsulta.pas' {OrdenConsultaForm},
  OrdenReporte in 'OrdenReporte.pas' {OrdenQuickReport: TQuickRep},
  ProduccionConsulta in 'ProduccionConsulta.pas' {ProduccionConsultaForm},
  ProduccionReporte in 'ProduccionReporte.pas' {ProduccionReport: TQuickRep},
  GuiaReporte in 'GuiaReporte.pas' {GuiaReport: TQuickRep},
  Proveedor in 'Proveedor.pas' {ProveedorForm},
  ProveedorDato in 'ProveedorDato.pas' {ProveedorDatoForm},
  CalidadReporte in 'CalidadReporte.pas' {CalidadReport: TQuickRep},
  DocumentoPedido in 'DocumentoPedido.pas' {DocumentoPedidoForm},
  KardexConsulta in 'KardexConsulta.pas' {KardexConsultaForm},
  KardexDatoMasivo in 'KardexDatoMasivo.pas' {KardexDatoMasivoForm},
  KardexReporte in 'KardexReporte.pas' {KardexReport: TQuickRep},
  kardexHiloConsulta in 'kardexHiloConsulta.pas' {KardexHiloConsultaForm},
  KardexReporteClasico in 'KardexReporteClasico.pas' {KardexClasicoReport: TQuickRep},
  KardexReporteSaldos in 'KardexReporteSaldos.pas' {KardexSaldosReport: TQuickRep},
  GuiaLoteConsulta in 'GuiaLoteConsulta.pas' {GuiaLoteConsultaForm},
  ProduccionReporteResumen in 'ProduccionReporteResumen.pas' {ProduccionResumenReport: TQuickRep},
  ProduccionReporteResumenPorMaquina in 'ProduccionReporteResumenPorMaquina.pas' {ProduccionResumenPorMaquinaQuickReport: TQuickRep},
  ProduccionReporteResumenPorCliente in 'ProduccionReporteResumenPorCliente.pas' {ProduccionResumenPorClienteReport: TQuickRep},
  Cuadre in 'Cuadre.pas' {CuadreForm},
  CuadreReporte in 'CuadreReporte.pas' {CuadreReport: TQuickRep},
  KardexSaldoHiloPlanta in 'KardexSaldoHiloPlanta.pas' {KardexSaldoHiloPlantaForm},
  KardexSaldoHiloPlantaReporte in 'KardexSaldoHiloPlantaReporte.pas' {KardexSaldoHiloPlantaReport: TQuickRep},
  KardexSaldoHiloPlantaResumenReporte in 'KardexSaldoHiloPlantaResumenReporte.pas' {KardexSaldoHiloPlantaResumenReport: TQuickRep},
  Liquidacion in 'Liquidacion.pas' {LiquidiacionForm},
  LiquidacionDato in 'LiquidacionDato.pas' {LiquidacionDatoForm},
  LiquidacionDato2 in 'LiquidacionDato2.pas' {LiquidacionDato2Form},
  KardexSaldoHiloPlantaPorOrden in 'KardexSaldoHiloPlantaPorOrden.pas' {KardexSaldoHiloPlantaPorOrdenReport: TQuickRep},
  Galga in 'Galga.pas' {GalgaForm},
  GalgaDato in 'GalgaDato.pas' {GalgaDatoForm},
  GalgaConsulta in 'GalgaConsulta.pas' {GalgaConsultaForm},
  Espere in 'Espere.pas' {EspereForm},
  ProgramaDato in 'ProgramaDato.pas' {ProgramaDatoForm},
  ConfigXls in 'ConfigXls.pas' {ConfigXlsForm},
  GuiaListaReporte in 'GuiaListaReporte.pas' {ListadoQuickReport: TQuickRep},
  TemporalesMantenimiento in 'TemporalesMantenimiento.pas' {TemporalesMantenimientoForm},
  PartidaConsulta in 'PartidaConsulta.pas' {PartidaConsultaForm},
  PartidaReporte in 'PartidaReporte.pas' {PartidaReport: TQuickRep},
  ProgramaReporte in 'ProgramaReporte.pas' {ProgramaReport: TQuickRep},
  Paquete in 'Paquete.pas' {PaqueteForm},
  PaqueteDato in 'PaqueteDato.pas' {PaqueteDatoForm},
  OPRDato in 'OPRDato.pas' {OPRDatoForm},
  OPRReporte in 'OPRReporte.pas' {OPRReport: TQuickRep},
  Login in 'Login.pas' {LoginForm},
  PartidaBusca in 'PartidaBusca.pas' {PatidaBuscaForm},
  FTecnica in 'FTecnica.pas' {FTecnicaForm},
  FTecnicaDato in 'FTecnicaDato.pas' {FTecnicaDatoForm},
  FTecnicaConsulta in 'FTecnicaConsulta.pas' {FTecnicaConsultaForm},
  ProgramaDato2 in 'ProgramaDato2.pas' {ProgramaDato2Form},
  ConfigXls2 in 'ConfigXls2.pas' {ConfigXls2Form},
  Guia2Reporte in 'Guia2Reporte.pas' {Guia2Report: TQuickRep},
  PaqueteDato2 in 'PaqueteDato2.pas' {PaqueteDato2Form},
  ProduccionRectiConsulta in 'ProduccionRectiConsulta.pas' {ProduccionRectiConsultaForm},
  KardexDato2 in 'KardexDato2.pas' {KardexDato2Form},
  RectiProdDiariaReporte in 'RectiProdDiariaReporte.pas' {RectiProdDiariaReport: TQuickRep},
  AvanceDato in 'AvanceDato.pas' {AvanceDatoForm},
  RectiProdResPorMaquinaReporte in 'RectiProdResPorMaquinaReporte.pas' {RectiProdResPorMaquinaReport: TQuickRep},
  RectiProdResSimple in 'RectiProdResSimple.pas' {RectiProdResSimpleReport: TQuickRep},
  RectiProdResPorClienteReporte in 'RectiProdResPorClienteReporte.pas' {RectiProdResPorClienteReport: TQuickRep},
  Opr in 'Opr.pas' {OprForm},
  RectiProdDiaria2Reporte in 'RectiProdDiaria2Reporte.pas' {RectiProdDiaria2Report: TQuickRep},
  PartidaConsulta2 in 'PartidaConsulta2.pas' {PartidaConsulta2Form},
  PartidaReporteF1 in 'PartidaReporteF1.pas' {PartidaReportF1: TQuickRep},
  PartidaReporteF2 in 'PartidaReporteF2.pas' {PartidaReportF2: TQuickRep},
  PedidoOrden in 'PedidoOrden.pas' {PedidoOrdenForm},
  PedidoDato2 in 'PedidoDato2.pas' {PedidoDato2Form},
  DetallePedidoDato in 'DetallePedidoDato.pas' {DetallePedidoDatoForm},
  GuiaConsulta in 'GuiaConsulta.pas' {GuiaConsultaForm},
  PedidoFiltro in 'PedidoFiltro.pas' {PedidoFiltroForm},
  OTDato in 'OTDato.pas' {OTDatoForm},
  OT in 'OT.pas' {OTForm},
  RolloOT in 'RolloOT.pas' {RolloOTForm},
  RolloOTDato in 'RolloOTDato.pas' {RolloOTDatoForm},
  OTReporte in 'OTReporte.pas' {OTReport: TQuickRep},
  ProveedorConsulta in 'ProveedorConsulta.pas' {ProveedorConsultaForm},
  OrdenReporte2 in 'OrdenReporte2.pas' {OrdenReport2: TQuickRep};
{$R *.res}
begin
  Application.Initialize;
  Application.Title := 'Sistema de Produccion ';
  Application.CreateForm(TDM, DM);
  Application.CreateForm(TPrincipalForm, PrincipalForm);
  Application.CreateForm(TOrdenReport2, OrdenReport2);
  Application.Run;
end.
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #6  
Antiguo 23-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues hombre, ahí se ven un montón de formularios y demás que no se crean desde un principio, lo cual es lo suyo, me parece. Claro que sí se crean ciertos formularios y "Data modules" al comenzar...

Yo me refería más bien al cierre de tu programa... yo no estoy muy puesto en estas cosas, pero, ¿es seguro que cuando se abre una conexión con la base de datos es cerrada cuando deja de usarse? ¿Todos los formularios que se crean en tiempo de ejecución son liberados convenientemente?

Es por ahí por donde creo que está el problema, claro que... no sé decirte una manera "óptima" de depurar el programa... más bien me parece que te costará cierto tiempo ponerte con ello y averiguar cuál puede ser la causa del problema.

A lo mejor algún compañero más versado que yo puede darte algunos pasos para tratar, concretamente, con este tipo de problemas. Comprendo que decir "tendrás que revisar que los recursos que ocupe tu programa sean liberados" es no decir mucho... me disculpo por ello, pero, no se me ocurre otra cosa ahora mismo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 23-10-2006
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 99
Poder: 20
javicho_villa Va por buen camino
Smile Gracias por atencion

Gracias de todas maneras voy a revisar bien el programa, la verdad q si tengo cuidado creo y destruyo objetos como formularios , etc, pero por alguna razon se esta quedando trabado, tambien me parece q es por que las 4 maquinas que siempre estan prendidas, son maquinas viejitas y estan con la corriente de la planta y esa corriente no es buena y no tienen estabilzidores y UPS.

bueno de todas formas muchas gracias.
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #8  
Antiguo 23-10-2006
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 21
@-Soft Va por buen camino
Wink

hola


es muy importante que no se puedan ejectuar varias instancias simultaneamente utilizando tablas planas en especial PARADOX, ya que cada vez que una instancia de estas se queda colgada quiere decir que hay algun dataset abierto el cual refencia a una tabla que automaticamente activa los archivos .lck y .net los cuales crean los bloqueo, yo te recomiendo que utilices la libreria que te recomendaron (UIApp). con agregarla en tu carpeta de fuentes y agregarla en el proyecto.

Saludos
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #9  
Antiguo 23-10-2006
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 99
Poder: 20
javicho_villa Va por buen camino
Thumbs up podrias esplayarte un poco mas por favor

Creo que por ahi esta la solucion:
existen varios usuarios que necesitan tener varias instancias abiertas para poder reliazar su trabajo.
pero quisiera saber mas de lo q has mencionado, si no fuera molestia un poquito de codigo seria genial.
Muchas gracias me ha dado algunas ideas.
saludos,
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
  #10  
Antiguo 24-10-2006
gica1815 gica1815 is offline
Miembro
 
Registrado: ago 2006
Posts: 12
Poder: 0
gica1815 Va por buen camino
en el idapi de paradox en el apartado system init existe el parametro "local share", no se como lo tienes puesto pero si en los clientes esta a false engancha muchos menos los lck, para los problemas nocturnos puedes ejecutar un programita que despues de cerrar las tares los borre
Responder Con Cita
  #11  
Antiguo 25-10-2006
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 99
Poder: 20
javicho_villa Va por buen camino
Thumbs up Un ejemplo por favor

me podrias indicar un pequeño codigo de como seria el programa, te lo agradeceria.

Saludos,
__________________
Javier Villa Sánchez
jvilla@andreaproducciones.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas con File Size y archivos >2GB Essato Varios 2 05-07-2006 23:57:49
Problemas al Copiar Archivos con el caracter 240 AGAG4 Varios 3 19-05-2006 19:24:25
luegode la busqueda los DBedit estan bloqueados kryna Conexión con bases de datos 3 02-04-2005 12:27:20
Archivos TMP IVAND Firebird e Interbase 4 26-08-2004 20:52:00
No entiendo, problemas al adjuntar archivos Walterdf Internet 2 02-09-2003 17:54:32


La franja horaria es GMT +2. Ahora son las 01:36:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi