Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-05-2003
Huer Huer is offline
Miembro
 
Registrado: may 2003
Posts: 21
Poder: 0
Huer Va por buen camino
Focus

Hola amigos de delphi, gracias a sus consejos he superado etapas.

mi dificultad es la siguiente:

tengo un servidor SQL 2000 y del terminal la conexión la realizo a través de ODBC. y funciona bien, pero la dificultad esta cuando voy a grabar me indica el siguiente error:

no puede enfocar ventanas lisiadas o invisibles.

cannot focus a disabled or invisible windows.


no puedo solucionar este error, o sera que las instrucciones han cambiado

Código Delphi [-]
begin
try
    if dm.md_publica.GotoKey then
       dm.md_publica.IndexFieldNames:='ppn';
       dm.md_publica.SetKey;
except
on e:econverterror do
       messagedlg(';!Propuesta ya ingresada!;',mtconfirmation,[mbok],0);
end;
    if (length(pp.text)=0) then;
    messagedlg(';!Campos en Blancos!;',mtconfirmation,[mbok],0);
begin
        dm.md_publica.Open;
        dm.md_publica.Insert;
        dm.md_publicaPPN.AsInteger:=strtoint(pp.Text);
        dm.md_publicaDETALLE.AsString:=dt.Text;
        dm.md_publicaFECHA.AsDateTime:=fetop2.Date;
        dm.md_publicaFECHAV.AsDateTime:=fetop3.Date;
        dm.md_publicaDOC.AsString:=doc.Text;
        dm.md_publicaCONCEPTO.AsString:=con.Text;
        dm.md_publicaAVISO.AsInteger:=strtoint(avi.Text);
        dm.md_publica.Post;
        dm.md_publica.Refresh;
end

Última edición por dec fecha: 04-05-2007 a las 18:59:35.
Responder Con Cita
  #2  
Antiguo 30-05-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Ese problema sucede cuando haces un SetFocus a un componente que esta deshabilitado o invisible, o que esta sobre una ventana / contenedor en ese estado.
Es un error muy común hacer un SetFocus en el create de un form, y como el form aún no se encuentra visible produce este error, una solución sencilla para esto es hacer lo siguiente:

Código:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ActiveControl := Edit1;
end;
o hacerlo en el Load, o preguntar por CanFocus....

A simple vista el código que pasaste no produciría directamente ese error, aunque puede ser disparado desde algún evento en particular, como los eventos del dm.md_publica

PD:
Me gusta mas pensar que Disabled es desactivado / deshabilitado y no lisiado

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 04-05-2007
Avatar de Alejandrina
Alejandrina Alejandrina is offline
Miembro
 
Registrado: mar 2007
Ubicación: Medellin
Posts: 46
Poder: 0
Alejandrina Va por buen camino
Question Mismo problema

Hola,
Tengo el mismo problema donde tengo que.
Código:
procedure TFrmIngresoSolicitud.BTNuevaSolicitudClick(Sender: TObject);
begin
  DBLMolde.KeyValue := Null;
  DBLMaquinas.KeyValue := Null;
  DBEDescripcionMaquina.text:='';
  DBLArea.KeyValue := Null;
  DBeArea.text := '';
  Descripcion.text:='';
  DBEDescripcionMolde.text:='';
  DBLMaquinas.KeyValue := Null;
  Descripcion.text:='';
  DBLCIndicador.KeyValue:=Null;
  DBEdCodigoIndicador.Text:='';
  ingresars := true;
  DmSip.TblSolicitud.Insert;
  edsolicitud.SetFocus;
  DBLCIndicador.visible:=true;
  DBEdCodMolde.Visible:=false;
  BTNuevaSolicitud.Enabled:=false;
end;
luego lo deshabilito para que el usuario no repita la acción mientras esta rellenando los campos...intento solucionarlo de la forma anterior pero no me funciona...que mas puedo hacer?

Gracias...
__________________
Alejandrina
Responder Con Cita
  #4  
Antiguo 04-05-2007
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 18
juanlaplata Va por buen camino
Código:
edsolicitud.SetFocus;
verifica esta componente. Como dice delphi.com.ar
"hacer un SetFocus a un componente que esta deshabilitado o invisible"
da ese tipo de error.
Responder Con Cita
  #5  
Antiguo 04-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Estoy segura que debe haber un campo oculto por eso marca el error indicado........
Responder Con Cita
  #6  
Antiguo 04-05-2007
Avatar de Alejandrina
Alejandrina Alejandrina is offline
Miembro
 
Registrado: mar 2007
Ubicación: Medellin
Posts: 46
Poder: 0
Alejandrina Va por buen camino
Question nooooooooooooooo

Hola,
Gracias por sus sugerencias pero recibo mas ya que aun me sale el mismo error....
__________________
Alejandrina
Responder Con Cita
  #7  
Antiguo 05-05-2007
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por delphi.com.ar
...o preguntar por CanFocus....
Algo simplemente como eso:
Código Delphi [-]
if AControl.CanFocus then
  AControl.SetFocus;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:29:49.


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
Copyright 1996-2007 Club Delphi