Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-12-2007
Avatar de paulina_puentes
paulina_puentes paulina_puentes is offline
Registrado
 
Registrado: may 2007
Posts: 8
Poder: 0
paulina_puentes Va por buen camino
Exclamation Problemas con XP

Hola necesito una Ayudita, resulta que tengo un sistema desarrollado en delphi 5 enterprise, y funciona bien en windows 2000 pero con los pc que tienen XP la coneccion es muy lenta, este programa es multi usuario, y no se como poder hacer, que opere de forma mas rapida en XP.-

Me podrian Ayudar por favor!!!


gracias
Responder Con Cita
  #2  
Antiguo 20-12-2007
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,

¿Pero de veras crees que con la información que proporcionas es posible ayudarte? Para mí que no, pero, en fin...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 20-12-2007
Avatar de paulina_puentes
paulina_puentes paulina_puentes is offline
Registrado
 
Registrado: may 2007
Posts: 8
Poder: 0
paulina_puentes Va por buen camino
Y que crees tu que necesitas saber para poder ayudarme???
Responder Con Cita
  #4  
Antiguo 20-12-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Cita:
Empezado por paulina_puentes Ver Mensaje
Y que crees tu que necesitas saber para poder ayudarme???
Aquí se contesta esa pregunta...
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita
  #5  
Antiguo 20-12-2007
Avatar de paulina_puentes
paulina_puentes paulina_puentes is offline
Registrado
 
Registrado: may 2007
Posts: 8
Poder: 0
paulina_puentes Va por buen camino
a ver bueno la verdad no se bien como detallar esto pero hare lo posible, el sistema consta de varios programas todos unidos a un nucleo, contabilidad, remuneraciones, maquinaria, bodega, etc, todos son independientes cada uno con su icono de inicio, la coneccion a los datos es atraves de sql 7 localmente en mipc trabajo con el sql 2000 y con windows xp, el programa para correr, no se demora tanto en cuanto a lo que es ventana principal, ingreso de clave y la aparicion de la ventana principal, pero para llamar aplicaciones desde los menus se demora bastante, esto lo hace cuando va capturar datos a sql con el siguiente codigo que estoy llamando a una ventana en especial que es la que mas demora en abrir

Código Delphi [-]
 
procedure TFDM1.empresa;
begin
try
with FDM1.tempresa do
  begin
   indexname:='PK_empresa';
   editkey;
   Fieldbyname('codigo_empresa').AsInteger:=cod_emp;
   gotokey;
 end;
except
  showmessage('Error al leer empresa');
 end;
end;

procedure TFDM1.DataModuleCreate(Sender: TObject);
var
  i:integer;
begin
   cod_prg:='Pctb_docgen.exe';
   cod_emp:=1;
   cod_usu:='root';
   ano_ing:=2002;
   mes_ing:=2;
//*******
//*******
  for i:= 0 to ParamCount do
   begin
    if i=0 then
     begin
       cod_prg:=ExtractFileName(LowerCase(ParamStr(i)));
       fec_prg:=datetostr(FileDateToDateTime(FileAge(ParamStr(i))));
     end
     else
      if i=1 then
       cod_emp:=strtoint(ParamStr(i))
      else
      if i=2 then
       cod_usu:=trim(ParamStr(i))
      else
     if i=3 then
       ano_ing:=strtoint(ParamStr(i))
    else
    if i=4 then
      mes_ing:=strtoint(ParamStr(i))
   else
    if i=5 then
      nuevo:=trim(ParamStr(i))
   else
    if i=6 then
      graba:=trim(ParamStr(i))
   else
    if i=7 then
      elimin:=trim(ParamStr(i))
   else
    if i=8 then
      imprim:=trim(ParamStr(i))
   else
    if i=9 then
      excel:=trim(ParamStr(i))
   else
    if i=10 then
      nivel:=strtoid(ParamStr(i));
   end;
//*********
 FDM1.database1.Connected:=true;
 FDM1.database2.Connected:=true;
 FDM1.database3.Connected:=true;
 FDM1.tempresa.active:=true;
 empresa;
//************
 FDM1.testado.active:=true;
 FDM1.Testado.indexname:='PK_estado';
 ex_estado:=FDM1.Testado.findkey([cod_emp,ano_ing,mes_ing]);
 if not(ex_estado) then
 begin
   showmessage('No existe Estado para año '+inttostr(ano_ing) + ' mes ' + inttostr(mes_ing));
   exit;
 end;
//**********
 FDM1.tclacta.Filter:='anopro_clacta='+inttostr(ano_ing);
 FDM1.tclacta.Filtered:=true;
 FDM1.tcuenta.active:=true;
 FDM1.tdocgen.Filter:='tipiet_docgen = '+''''+Uctb_tipiet.docum+'''';
 FDM1.tdocgen.Filtered:=true;
 FDM1.tdocgen.active:=true;
 FDM1.tdocdet.active:=true;
 FDM1.tdocgen1.active:=true;
 FDM1.tcencos.active:=true;
 FDM1.ttipmov.active:=true;
 FDM1.TConobj.active:=true;
 FDM1.tclacta.active:=true;
 FDM1.tconcep.active:=true;
 FDM1.tproyec.active:=true;
 FDM1.tsujeba.active:=true;
 FDM1.testado.active:=true;
 FDM1.ttipdoc.active:=true;
 FDM1.Trectcp.active:=true;
 FDM1.Tparanu.active:=true;
 FDM1.Tparser.active:=true;
 FDM1.Trecccp.active:=true;
 FDM1.Trectcp.active:=true;
 FDM1.Tbloqueo.active:=true;
 FDM1.Tmnedia.active:=true;
 FDM1.Tnumtra.active:=true;
end;

Gracias, espero esto puede servir en algo!
Responder Con Cita
  #6  
Antiguo 20-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por paulina_puentes Ver Mensaje

Código Delphi [-]
procedure TFDM1.DataModuleCreate(Sender: TObject);
var
i:integer;
begin
//**********
FDM1.tclacta.Filter:='anopro_clacta='+inttostr(ano_ing);
FDM1.tclacta.Filtered:=true;
FDM1.tcuenta.active:=true;
FDM1.tdocgen.Filter:='tipiet_docgen = '+''''+Uctb_tipiet.docum+'''';
FDM1.tdocgen.Filtered:=true;
FDM1.tdocgen.active:=true;
FDM1.tdocdet.active:=true;
FDM1.tdocgen1.active:=true;
FDM1.tcencos.active:=true;
FDM1.ttipmov.active:=true;
FDM1.TConobj.active:=true;
FDM1.tclacta.active:=true;
FDM1.tconcep.active:=true;
FDM1.tproyec.active:=true;
FDM1.tsujeba.active:=true;
FDM1.testado.active:=true;
FDM1.ttipdoc.active:=true;
FDM1.Trectcp.active:=true;
FDM1.Tparanu.active:=true;
FDM1.Tparser.active:=true;
FDM1.Trecccp.active:=true;
FDM1.Trectcp.active:=true;
FDM1.Tbloqueo.active:=true;
FDM1.Tmnedia.active:=true;
FDM1.Tnumtra.active:=true;
end;
Tengo una duda, ¿es necesario que abras todas tus tablas desde el principio?

Desconozco la estructura de tu sistema, pero pienso que podrías abrir las tablas solo cuando las necesitas acceder y no de la forma como lo estas haciendo.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 20-12-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Dado que estás abriendo una base de datos, prueba lo siguiente:

Botón derecho sobre "Mi PC"
Propiedades
Solapa "Restaurar Sistema"
Desactiva la Restaruación.

Nos ha sucedido que esta opción crea una copia de la base cada vez que se accede a ella y por lo tanto hace muy lento el arranque del programa.

- Una solución es desactivar esta opción.
- Otra es meter la base de datos en una de las carpetas que no se verifican por la restauración automática. (Creo que Mis Documentos es una)
- Otra opción era cambiarle la extención al archivo de la base de datos.
Responder Con Cita
  #8  
Antiguo 20-12-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
También puedes tratar de ver cual es la parte donde se toma más tiempo.

- Una forma de hacerlo es con el debuger de Delphi, poniendo un breakpoint y luego con F8 paso a paso ver cual/es línea/s tardan más.
- Otra forma es poniendo mensajes (si no tienes el Delphi en el XP)
Código Delphi [-]
...
FDM1.database1.Connected:=true;
ShowMessage('Paso 1');
FDM1.database2.Connected:=true;
ShowMessage('Paso 2');
FDM1.database3.Connected:=true;
ShowMessage('Paso 3');
FDM1.tempresa.active:=true;
ShowMessage('Paso 4');
empresa;
ShowMessage('Paso 5');
//************
FDM1.testado.active:=true;
ShowMessage('Paso 6');
FDM1.Testado.indexname:='PK_estado';
ShowMessage('Paso 7');
ex_estado:=FDM1.Testado.findkey([cod_emp,ano_ing,mes_ing]);
ShowMessage('Paso 8');
if not(ex_estado) then
begin
showmessage('No existe Estado para año '+inttostr(ano_ing) + ' mes ' + inttostr(mes_ing));
exit;
end;
//**********
ShowMessage('Paso 9');
FDM1.tclacta.Filter:='anopro_clacta='+inttostr(ano_ing);
FDM1.tclacta.Filtered:=true;
ShowMessage('Paso 10');
FDM1.tcuenta.active:=true;
ShowMessage('Paso 10');
FDM1.tdocgen.Filter:='tipiet_docgen = '+''''+Uctb_tipiet.docum+'''';
FDM1.tdocgen.Filtered:=true;
FDM1.tdocgen.active:=true;
ShowMessage('Paso 11');
FDM1.tdocdet.active:=true;
ShowMessage('Paso 12');
FDM1.tdocgen1.active:=true;
ShowMessage('Paso 13');
FDM1.tcencos.active:=true;
ShowMessage('Paso 14');
FDM1.ttipmov.active:=true;
ShowMessage('Paso 15');
FDM1.TConobj.active:=true;
ShowMessage('Paso 16');
FDM1.tclacta.active:=true;
ShowMessage('Paso 17');
FDM1.tconcep.active:=true;
ShowMessage('Paso 18');
FDM1.tproyec.active:=true;
ShowMessage('Paso 19');
FDM1.tsujeba.active:=true;
ShowMessage('Paso 20');
FDM1.testado.active:=true;
ShowMessage('Paso 21');
FDM1.ttipdoc.active:=true;
ShowMessage('Paso 22');
FDM1.Trectcp.active:=true;
ShowMessage('Paso 23');
FDM1.Tparanu.active:=true;
ShowMessage('Paso 24');
FDM1.Tparser.active:=true;
ShowMessage('Paso 25');
FDM1.Trecccp.active:=true;
ShowMessage('Paso 26');
FDM1.Trectcp.active:=true;
ShowMessage('Paso 27');
FDM1.Tbloqueo.active:=true;
ShowMessage('Paso 28');
FDM1.Tmnedia.active:=true;
ShowMessage('Paso 29');
FDM1.Tnumtra.active:=true;
ShowMessage('Paso 30');
end

Si por ejemplo entre el mensaje "Paso 4" y "Paso 5" ha tardado mucho, el problema estará en el procedimeinto "empresa".

Última edición por dec fecha: 20-12-2007 a las 19:02:02.
Responder Con Cita
  #9  
Antiguo 21-12-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Dado que estás abriendo una base de datos, prueba lo siguiente:

Botón derecho sobre "Mi PC"
Propiedades
Solapa "Restaurar Sistema"
Desactiva la Restaruación.

Nos ha sucedido que esta opción crea una copia de la base cada vez que se accede a ella y por lo tanto hace muy lento el arranque del programa.

- Una solución es desactivar esta opción.
- Otra es meter la base de datos en una de las carpetas que no se verifican por la restauración automática. (Creo que Mis Documentos es una)
- Otra opción era cambiarle la extención al archivo de la base de datos.
Tengo entendido que este problema afecta a los .gdb de Interbase, no a las bases de datos de sql server...
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita
  #10  
Antiguo 21-12-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por duilioisola Ver Mensaje
Dado que estás abriendo una base de datos, prueba lo siguiente...
No hace falta probar eso; Eso es aplicable a las BAse de Datos con extensón GDB de Interbase. Ese problema no afecta a las conexiones a SQL Server.

AÑADO: Veo que Gabo fue más rápido...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 21-12-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Deberías descartar si es problema de las conexiones con tu programa o con todos.
Hacer un pequeño programa que realice algunas conexiones y probarlo en el XP ey en el 2000. Con eso sabrás si es cosa del programa o del ordenador. Puede ser temas de conexión a red o configuración de lar tarjetas. De ahí que sea importante saber si tu programa es el único que va lento o son todos.

Si estás accediendo vía ADO revisa que tengas actualizadas las MDAC. Y también que tengas actualizado el cliente de SQL Server.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 23-02-2009
Avatar de paulina_puentes
paulina_puentes paulina_puentes is offline
Registrado
 
Registrado: may 2007
Posts: 8
Poder: 0
paulina_puentes Va por buen camino
Gracias a todos los que respondieron, el problema ya esta solucionado.

Solo hice lo que me recomendó egostar, que fue abrir las tablas a su debido momento

gracias a todos !!!
Responder Con Cita
  #13  
Antiguo 23-02-2009
Avatar de rcarrillom
[rcarrillom] rcarrillom is offline
Miembro Premium
 
Registrado: dic 2004
Ubicación: UK / North Sea / Norway / Golfo de México / Frente a mi Laptop
Posts: 219
Poder: 20
rcarrillom Va por buen camino
Tarde pero seguro
__________________
eLcHiCoTeMiDo - Rompecorazones profesional
Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos?
Salva a un nylon, usa prendas de piel de foca
Responder Con Cita
  #14  
Antiguo 23-02-2009
Avatar de paulina_puentes
paulina_puentes paulina_puentes is offline
Registrado
 
Registrado: may 2007
Posts: 8
Poder: 0
paulina_puentes Va por buen camino
Cita:
Empezado por rcarrillom Ver Mensaje
Tarde pero seguro
jajajaja sip es que he tenido varias cosas que hacer, ni me metí a internet
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


La franja horaria es GMT +2. Ahora son las 20:25:53.


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