Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cannot focus a disabed or invisible window en creación de formulario (https://www.clubdelphi.com/foros/showthread.php?t=37226)

OlmoJorge 07-11-2006 13:57:15

cannot focus a disabed or invisible window en creación de formulario
 
Hola
Tengo un formulario con un page control con 3 tabsheets. Todo bien, pero acabo de insertar un panel en un tabsheet, y me parece, me parece que algo he debido tocar en alguna propiedad sin darme cuenta, que ahora en la creación del formulario (no en el método OnCreate). Si no en esta primera línea del with:

Código Delphi [-]
 
   With TFFichaContacto.Create(Application) do
    try
      Tag := 999;
      ShowModal;
    finally
      Free;
    end;

Me da 4 veces 4 el error "cannot focus a disabed or invisible window".
No llego ni al OnCreate ni OnActivate ni OnShow...
He mirado toooodos los Enabled y visible = False, y no parecen ir por ahí los tiros. He buscado TabVisible y TabEnable y también estan correctas...
Por favor, cualquier ayuda será inestimable.
Muchas gracias de antemano

reina 07-11-2006 15:45:33

Hola! ese error es porque le estan dando foco..algun componente de alguna page que no esta activa.
Fijate si no haces algun setFocus por ahi...:rolleyes:

salu22

OlmoJorge 07-11-2006 15:45:56

Hola
He encontrado la respuesta!!:D

Resulta que si tienes programados eventos OnChange en componentes enganchados a la BdD, debes asegurarte antes de hacer cualquier acción, de que el DataSet está en edición. De no ser así, da este error.
En mi caso tenía esto:


Código Delphi [-]
procedure TFFichaContacto.spP08_VD_02Change(Sender: TObject);
begin
  CompruebaP08_01;
end;

spP08_VD_02Change es un SpinEdit contra la BdD.
Pues basta con hacer esto:

Código Delphi [-]
procedure TFFichaContacto.spP08_VD_02Change(Sender: TObject);
begin
  if not (DMConexion.qCliente.State in dsEditModes) then exit;
  CompruebaP08_01;
end;

Saludos. Jorge


La franja horaria es GMT +2. Ahora son las 11:48:02.

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