![]() |
![]() |
| 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
|
||||
|
||||
|
Hola,
Román, a mi me pasó algo curioso con un código igual a tu ejemplo donde ejecuto unas multiples inserciones aunque no mediante SQL; todo muy bien hasta ahi, pero si cambias a otra ventana e intentas regresar a esta, pues ya aparece frita .Ahora bien, si el trabajo con la base de datos se hace en otro thread, ¿como sería la mejor forma de evitar que se bloquee el principal? ![]() Saludos!
__________________
Web |
|
#2
|
||||
|
||||
|
En realidad no sé, Felipe.
Se supone que un hilo no puede interactuar con componentes de la VCL y esto incluye componentes de acceso a datos como un Query, aunque el manual dice: Cita:
Hice una pequeña prueba con dos ventanas y no tuve problema, pero había que ver con más detalle qué estás haciendo tú. Quizá estés interactuando de alguna manera con componentes visuales o que no son thread-safe. // Saludos |
|
#3
|
||||
|
||||
|
Probablemente sea un propio error mio, la rutina consiste en pasar datos de un ADODataset a un ClientDataset (Esto porque uso DBExpress), pero quizá la forma en que cree el thread no fuera la más optima, y en cuanto a los componentes visuales solo una grilla un progressbar y un par de botones.
Buscaré el código tal para que le demos una mirada ![]()
__________________
Web |
|
#4
|
||||
|
||||
|
Si el paso de datos lo hace en un ciclo, entonces quizá te bastaría un Application.ProcessMessages en cada vuelta.
// Saludos |
|
#5
|
||||
|
||||
|
Cita:
![]() Cosas que se me ocurren ![]() ![]() Saludos!
__________________
Web |
|
#6
|
||||
|
||||
|
No lo había pensado. Es posible que así sea.
// Saludos |
|
#7
|
||||
|
||||
|
ratifico lo dicho por roman. Cuando hice mis pruebas sí se ralentizaba el bucle, obvio ya que en cada ciclo tiene que "respirar".
Solución intermedia: "respirar 1 vez cada x ciclos"
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#8
|
|||
|
|||
|
Funcionó
Cita:
Esto me sirviò, muchas gracias. |
|
#9
|
||||
|
||||
|
Cita:
y los querys, ya tengo el codigo un .exe que se encuentra en el server que segun yo seria el encargado de ejecutar los querys que atacan a las bd de access y mysql, pero me he dado cuenta que no podra funcionar asi por el empalme de peticiones de maquinas diferentes, he leido que puedes mandar la conexion y los querys por medio de hilos pero no logro encontrar informacion de ocmo hacerlo, con esto segun yo se quitara mi problema te agradeceria cualquier manual o referencia que me puedas proporcionar mil gracias.//codigo del .exe server donde truena la aplicaion
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| "sincronizar" mostrar Form en Pantalla | NEG1414 | C++ Builder | 3 | 22-10-2008 16:24:49 |
| Cerrar Form "fuerza bruta" | MaMu | Varios | 3 | 22-05-2007 19:59:50 |
| Necesito llamar a métodos de clases "hija" desde su clase "padre" | Flecha | OOP | 17 | 20-04-2007 00:03:53 |
| "Error Reading Form" Ayudenme!! | Mauro.NET | OOP | 4 | 09-06-2005 17:03:13 |
| Modificando el "constructor Create" del Form | sitrico | OOP | 2 | 01-10-2004 09:51:43 |
|