Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-10-2012
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
Aplicación se queda congelada !!!!

Hola foro tengo una consulta tal vez que me puedan ayudar.

Tengo un programa que lee un archivo *.dbf uso los componentes de BDE un table lee la tabla itero en sus registrso (algo de 1500) y genero una cadena conteniendo una instrucción INSERT de MySQL de todo esto se encarga el prodecimiento genSQL_Insert() que devuelve la mensionanda cadena una vez con la cadena uso zeos para conectarme a mi server mysql remotamente y ejecutar dicha consulta de inserción

dicho codigo esta en un boton:
Código Delphi [-]
procedure Tinicio.Button1Click(Sender: TObject);
begin
  Cursor := crHourGlass;
  Application.ProcessMessages;
  Label1.Caption := 'Ejecutando actualización en el servidor MySQL, espere...';
  Application.ProcessMessages;

  ZSQLProcessor1.Script.Add('truncate table colegiados;');
  ZSQLProcessor1.Script.Add(genSQL_Insert());
  ZSQLProcessor1.Execute;
  Label1.Caption := 'Actualización completada';
  Cursor := crDefault;

end;

el problema es que el programa al hacer clic en el boton
1.- el cursor no cambia a reloj como estoy intentando
2.- en el label aparece "jecutando actualización en el servidor MySQL, espere..." y se queda plantado con el cursor normal


me gustaria saber como solucionar esto ademas implementar una barra de progreso para que el usuario tenga una idea de como va el proceso ademas de que no se quede congelado el programa.

Bueno amigos gracias de antemano por cualquier respuesta

Saludos


David
__________________
Yo se que muchas veces te paso ESTO
Responder Con Cita
  #2  
Antiguo 15-10-2012
Avatar de Young
Young Young is offline
Miembro
 
Registrado: abr 2006
Ubicación: San Felipe, Chile
Posts: 86
Poder: 18
Young Va por buen camino
Hola David:

1. No entiendo si "genSQL_Insert()" genera una cadena a la vez o el script completo de inserción.

2. Si quieres una barra de progreso yo utilizo en varias cosas los componentes JEDI y existe un componente llamado TJvProgressDialog que para esos menesteres funciona muy bien:

Código Delphi [-]
jvProgressDialog.Show;
// Aqui algo de codigo
jvProgressDialog.Position := 30;
// mas código
jvProgressDialog.Position := 100;
// ...
jvProgressDialog.Hide;

Lo anterior también puede ser en un bucle he ir actualizando Position en concordancia.

Saludos.
Responder Con Cita
  #3  
Antiguo 20-10-2012
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
hola gracias por responder, la función genSQL_Insert() lo que hace es leer una tabla dbf y mediante un bucle recorro sus registrs y construlo una cadena con una instriccion insert una cadena tal que. Insert into tabla (nombre, direccion) values ('jose','la predera'), etc, osea recojo los datos de la tabla, eso es todo, ahora, ahora lo que yo deseo es que cuando envio esa cadena y ejecuto la consulta de inserción en el servidor remoto ahi la aplicacion se me congela justo en estas lineas
Código Delphi [-]
ZSQLProcessor1.Script.Add('truncate table colegiados;');
  ZSQLProcessor1.Script.Add(genSQL_Insert());
  ZSQLProcessor1.Execute;
hay que esperar como 5 segundos y es aqui donde quisiera aparezca una barra de progreso pero no se como hacerlo ya que no hay bucle ni nada es solo esperar a que Execute termine.

saludos

David
__________________
Yo se que muchas veces te paso ESTO
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Reus se queda sin follódromo. marcoszorrilla La Taberna 4 27-07-2008 20:09:45
WaitForSingleObject se queda bloqueada seoane API de Windows 3 13-03-2008 00:59:14
Se queda cargando WINDOWS janexa Windows 4 07-12-2006 04:10:47
Ventana congelada CARSOFT_AR Varios 4 16-12-2005 17:05:23
Lepe no se queda atras vtdeleon Noticias 10 10-11-2005 14:37:02


La franja horaria es GMT +2. Ahora son las 14:11:35.


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