Cita:
Empezado por AgustinOrtu
Yo mejor mandaría todo ese código del evento OnShow al hilo; entonces, creas el form con el gif, creas el hilo y que ejecute su trabajo. Cuando termina, creas el form principal y cierras el del gif
El trabajo pesado no debe hacerse en los form, que son elementos para representar estados y datos, nada más.
El trabajo pesado se debe hacer lo más lejos posible del form, de esta manera te es más fácil refactorizar el código y no queda fuertemente acoplado. Con el tiempo da sus frutos
|
Gracias por tu respuesta.
La verdad es que tambien me habia planteado esa opción.
Pero aquí ya me doy de bruces con mi ignorancia.
Supongo que el código lo he de poner en :
Código Delphi
[-]procedure thilo.Execute;
begin
inherited;
end;
El caso es que al colocarlo:
Por ejemplo pego un trozo del manejo de bases de datos
Código Delphi
[-]procedure thilo.Execute;
begin
inherited;
cube2.active:=true;
Hoy := Now;
DecodeDate(Hoy, Año, Mes, Dia);
miaño:=inttostr(año);
for x:=0 to combobox2.items.Count do
begin
if combobox2.items[x]=miaño then
totem:=x;
end;
combobox2.ItemIndex:=totem;
adoquery1.Active:=true;
adoquery2.Active:=true;
adoquery9.Active:=true;
adoquery11.Active:=true;
end;
Todos los componentes adoquery, el combobox y el cube me indica un error de undeclared Identifier. No los logra "ver", y no sé donde indicarlo. He leído que si manejo componentes externos al hilo les he de poner syncronize, aquí lo he obviado (tampoco poniendolo los ve).
Independientemente, la verdad, siendo que el hilo está forzado en prioridad al máximo....... el balanceo de carga deja mucho que desear (win xp, delphi 2009).