FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con crear un mismo Form varias veces + Thread
Saludos, necesito una ayudita con un problemita que no e podido resolver.
Tengo Un Form mdi principal y un Form hijo en el cual creo un thread para realizar una serie de procesos incluyendo manejo de bases de datos. de esta forma me funciona bien. el problema que tengo esque quiero crear el Form hijo varias veces pero el problema esque desde e theread hago referencias apuntando al Form1, por ejemplo Form1.ProgressBar1.Position:=Form1.ProgressBar1.Position+1; lo cual no me funciona para el segundo Form espero me ayuden!!! saludos Aca el Form mdi Principal
Aca el Form1 que quiero crear varias veces
y aca la unidad del Hilo
Claro esta no es mi aplicacion real, es solo un esquema para lograr mi objetivo Saludos y espero sugerencias. Última edición por n03l fecha: 23-12-2013 a las 20:46:13. |
#2
|
||||
|
||||
Bueno nunca he usado threads pero podrias probar creando un campo en el thread que haga referencia al formulario y al crear el thread la pasas Self que vendria a ser la referencia al formulario actual. Asi en el codigo del thread solo usarias el campo para hacer tus operaciones.
Espero se me haya entendido Saludos |
#3
|
||||
|
||||
Los accesos desde el thread hacia el formulario (componentes como el progressbar) debes hacerlos utilizando Synchronize, ya que la VCL no es thread-safe.
revisa el método synchronize en la ayuda o algunos de los ejemplos de thread que hay en el FTP del club.
__________________
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. |
#4
|
|||
|
|||
Ok Gracias, Lo tendre en cuenta!!!.
Aun no e podido lograr lo que quiero. Sin embargo utilizando el Componente JVThread de los JEDI si me funciona perfecto ya que queda todo encapsulado en la misma forma. saludos |
#5
|
||||
|
||||
Varias cosas:
1.- En las opciones configura TForm1 como no autocreado. 2.- En tu thread implementa un constructor en el que tengas que pasar una referencia a TForm1 y la guardas en una variable privada. El resto de las llamadas en las que intervenga TForm1, las haces con esa variable que apuntará al Form que te interesa en cada momento. 3.- Como dice Neftali, usa Synchronize, para las funciones que hagan uso de TForm1. Saludos. |
#6
|
|||
|
|||
Ok Voy a investigar como es eso de los constructores ya que nunca lo e usado saludos...
Muchas Gracias de Verdad...... |
#7
|
|||
|
|||
Ok, despues de tirar puñaladas al aire y haciendo uso del copy paste e hecho lo siguiente:
En el form
y en el hilo me da el siguiente error al tratar de compilarlo [DCC Error] Hilos.pas(39): E2003 Undeclared identifier: 'ProgressBar1' el Hilo
|
#8
|
||||
|
||||
FName es de tipo Tform y debe ser de tipo TForm1
Saludos |
#9
|
|||
|
|||
Hola Caminante, ya lo intente y me marca error
[DCC Error] Hilos.pas(11): E2003 Undeclared identifier: 'TForm1' saludos |
#10
|
|||
|
|||
Tenias razon ya lo solucione poniendo TForm1. el problema era que yo tenenia la referencia a Form1
aqui:
lo puse aqui y me funciono
saludos y gracias a todos los que me colaboraron |
#11
|
||||
|
||||
Sigues accediendo al formulario y al progressbar sin usar Synchronize.
Creo que antes o después acabará dándote problemas.
__________________
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. |
#12
|
||||
|
||||
Cita:
Saludos. |
#13
|
|||
|
|||
Si amigo lo tendre en cuenta en mi aplicacion real
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como evito abrir 2 veces el mismo form? | daragor | Lazarus, FreePascal, Kylix, etc. | 13 | 14-08-2016 09:37:07 |
mismo reporte varias veces qreport | yossi | Impresión | 0 | 20-07-2011 12:13:16 |
Error Al Crear Varias Veces El Mismo Form | ManuelPerez | Varios | 7 | 18-09-2007 21:31:02 |
Quiero liberar my query para usar el mismo varias veces | zcatzz | Conexión con bases de datos | 7 | 27-01-2007 23:39:45 |
Abrir varias veces el mismo form | Phacko | Varios | 7 | 25-09-2004 05:22:01 |
|