![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Y bueno, sin intentar dar mas vueltas en la causa, te adjunto la solución que está basada en la creación de un hilo, el cual a su ves crea una ventana del cual los mensajes son procesados en el mismo. Lo que responde exactamente a aquellos problemas causados por un hilo principal “ocupado”. El modo de empleo es simple;
Procura que la función BusyStatus sea llamada justo antes del inicio del problema, el la misma unidad "detectará" cuando debe "ocultarce", y si quieres utilizar la unidad en otros momentos te sugiero que lo utilices (por ejemplo) al momento en que esta en plena creación tu aplicación:
"Función Continue, creada para aquellas aplicaciones que no utilizan GUI o cuando no funciona por no tener controles, o simplemente para asegurar un funcionamiento adecuado" De seguro será de utilidad y una base para solucionar otro tipo de problemáticas de la misma índole. Saludos! |
|
#2
|
||||
|
||||
|
En el evento OnFetchProgress de los componentes ADO te da Progress y MaxProgress que corresponden a "donde va" y "hasta donde llega", respectivamente
|
|
#3
|
|||
|
|||
|
Hola,
Si estás tarbajando en 3 capas con Capas sql y capas clientes usando TClientdataset para la consulta de datos es normal que te suceda esto. Si tu consulta retorna un número considerable de registros, es lógico que durante un cierto tiempo, la capa cliente se quede esperando una respuesta de la capa SQL. Para estos casos te recomiendo implementar un procedimiento auxiliar que "obtenga" los datos por bloques de registros y los valla adjuntando a un tClientDataset final. El resultado final es más lento, pero el usuario no tiene la sensación de que su aplicación se ha colgado, además de que puedes poner un gauge indicando el progreso de la operación. Una vez finalizado el proceso podrás manipular como siempre el tClientdataset final. Ten en cuenta que cuando ejecutas una consulta de datos con un tClientDataset, éste no conoce el número de registro que se le retornará de la capa SQL y no te puede dar información sobre esto. Igualmente, cuando un tClientadataset recibe un conjunto de registro, no los va recibimiento de uno en uno, ni de "x" en "x" registros, sino, que recibe un "paquete" que contiene la respuesta de la capa SQL, incluyendo estructura de la tabla, restricciones, formato de campos, etc... y por último los registros solicitados. Un Saludo.
__________________
Maro. OutSourcing de programación con Delphi. |
|
#4
|
|||
|
|||
|
Quisiera ver un ejemplo
Hola a todos, he encotrado esta conversacion y quisiera ver un pequeño ejemplo de como se haria lo mensionado en tres capas
. gracias ante todo |
|
#5
|
|||
|
|||
|
este mensaje va para [cHackAll]
Probe _Busy y lo uso antes de hacer una consulta que me tarda el tema es que lo unico que hace es mostrar el cartel y lo que indica que esta haciendo algo que esta de verde no mueve, tenes alguna idea de que puede ser saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Actualizar form mientras se reciben datos por sockets | JMGR | Internet | 3 | 23-12-2011 21:47:27 |
| Mostrar progreso de descarga de IndyFTP con barra de progreso | devicer | Internet | 2 | 05-12-2005 14:59:32 |
| No carga el driver de conexión a base de datos | oavch | Internet | 0 | 25-11-2005 18:07:32 |
| Carga rápida de datos en Access | Toñico | Tablas planas | 12 | 09-05-2005 22:04:13 |
| Qreport 3.0 y carga de datos por pagina | jgutti | Impresión | 0 | 21-04-2005 15:43:58 |
|