Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error de Focus (https://www.clubdelphi.com/foros/showthread.php?t=90845)

webmasterplc 15-09-2016 17:35:10

Error de Focus
 
Buenas tengo un error que me lleva loco cuando doy click sobre el grid me muestra error de focus solo algunas veces
mi código es el siguiente esta desarrollado en delphi XE8

Código Delphi [-]
var
importado,activo:string;
begin
      if accion = 'ver' then
      begin

      with datos.sqbuscarequipo do
      begin
      GroupBox1.Enabled:=True;
      grp1.Enabled:=True;
      grp2.Enabled:=True;
      edtcodigo.Text:=FieldByName('eq_codigo').AsString;
      edtcodigo.Enabled:=False;
      edtdescripcion.Text:=FieldByName('eq_descripcion').AsString;
      edtdescripcion.ReadOnly:=True;
      Edtmarca.Text:=FieldByName('eq_marca').AsString;
      edtmarca.ReadOnly:=True;
      edtcosto.Text:=FieldByName('eq_costodiario').AsString;
      edtcosto.ReadOnly:=True;
      edtmodelo.Text:=FieldByName('eq_modelo').AsString;
      edtmodelo.ReadOnly:=True;
      importado:=FieldByName('eq_importado').AsString;
      activo:=FieldByName('eq_activofijo').AsString;
      edtvaloraqui.Text:=FieldByName('eq_valor').AsString;
      edtcop.Text:=CurrToStr(FieldByName('eq_factor').AsCurrency);
      rbimpno.Enabled:=False;
      rbimpsi.Enabled:=False;
      rbafsi.Enabled:=False;
      rbafno.Enabled:=False;
      btneliminar.Visible:=False;
      edtvaloraqui.Enabled:=False;
      edtcop.Enabled:=False;


          if importado = 'True' then
      begin
        rbimpsi.Checked:=True;
      end
      else
      if importado = 'False' then
      begin
        rbimpno.Checked:=True;
      end;

          if activo = 'True' then
      begin
        rbafsi.Checked:=True;
      end
      else
      if activo = 'False' then
      begin
        rbafno.Checked:=True;
      end;
      end;
end;

ecfisa 15-09-2016 17:51:07

Hola webmasterplc.

¿ Cual es exáctamente el mensaje de error que te muestra ? (copia/pega)

Saludos :)

webmasterplc 15-09-2016 18:03:24

First chance exception at $756DB760. Exception class EInvalidOperation with message 'Cannot focus a disabled or invisible window'. Process Costos.exe (2104)

ecfisa 15-09-2016 19:21:52

Hola.

Ese error se produce porque estas dándole el foco a algún control que esta inhabilitado o invisible en ese momento, por ejemplo:
Código:

WinControl.Enabled := (1 = 2) // alguna condición
...
WinControl.SetFocus

O:
Código:

WinControl.Visible := (5 = 2) // alguna condición
...
WinControl.SetFocus

En el trozo de código de tu mensaje pareciera que no esta el error, pero desactivas e inhabilitas algunos controles que podrían darlo luego. Deberías usar break points y hacer trace into para tratar de circunscribir la línea donde se está produciendo.

Saludos :)


La franja horaria es GMT +2. Ahora son las 23:00:06.

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