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 20-09-2003
gloritavn gloritavn is offline
Registrado
 
Registrado: sep 2003
Posts: 2
Poder: 0
gloritavn Va por buen camino
Question problema con DBGRID.selectedfield.isnull

Hola foristas:
tengo una forma en la que manejo un dbgrid y cuando este se encuentra vacio si tu das doble click en el o si das un enter o un backspace al estar vacio no debe ocurrir algo.... esto lo estoy controlando en los siguientes eventos:

procedure TFasignadi.DBGdiagregadoDblClick(Sender: TObject);
begin
if (Iadis=6)and not(DBGdiagregado.selectedField.IsNull)then
begin
Svadiemp:=DBGdiagregado.Fields[0].AsString;
BBeliminaadi.setfocus;
end;
end;

procedure TFasignadi.DBGdiagregadoKeyPress(Sender: TObject; var Key: Char);
begin
if((key=#13)or(key=#9))and(Iadis=6)and not DBGdiagregado.SelectedField.IsNull)then
begin
if(Iadis=6)then
begin
Svadiemp:=DBGdiagregado.Fields[0].AsString;
BBeliminaadi.setfocus;
end;
end
else
key:=#0;
end;

pero al momento de ejecutar el proyecto marca el error siguiente: acces violation at address 004EB1D1 in module 'proyecto.exe'. Read of address 00000000 esto solo ocurre en esta forma ya que en otras utilizo el mismo procedimiento y no hay error utilice un watch para ver el valor de DBGdiagregado.SelectedField.IsNull y no muestra si el valor es true o false muestra lo siguiente expression illegal in evaluator.... desde ya mil gracias por su atencion
Responder Con Cita
  #2  
Antiguo 20-09-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lo de "expression illegal in evaluator" te lo marca precisamente porque hay algún objeto nilque está tratando de referenciar. Ya que difícilmente sería el dbgrid lo más seguro es que se trate de la propiedad SelectedField. Prueba hacer un debug examinando sólo

DBGdiagregado.selectedField

en lugar de

DBGdiagregado.selectedField.IsNull

En la redacción de tu mensaje no entiendo bien si por "estar vacio" te refieres al dbgrid o a la celda. Recuerda que, según la ayuda de Delphi, la propiedad SelectedField es nil si el dbgrid tiene la opción dgRowSelect activa (de forma que se selecciona una fila completa) o bien si no hay ninguna celda seleccionada (lo cual puede ocurrir si no hay registros o si aún no seleccionas ninguna celda).

// Saludos
Responder Con Cita
  #3  
Antiguo 20-09-2003
LF_LS LF_LS is offline
Registrado
 
Registrado: sep 2003
Ubicación: Mexicali
Posts: 1
Poder: 0
LF_LS Va por buen camino
Cool

Solo le dire a usted que es un codigo algo sencillo el que tiene ahi y que el error que esta teniendo es algo de las cosas del area que no se pueden explicar, creo que lo que debe de hacer es crear un evento para el caso en el que no haya algo en el DBGRID, talvez un mensaje que diga que debe de escribir algo en el mismo....eso se me ocurre, espero y le ayude en algo...
Responder Con Cita
  #4  
Antiguo 20-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
si te refieres a que el Grid no contenga valores (es decir que el Dataset asociado a éste esté vacio), puedes preguntar al Dataset, es decir

DBGrid1.DataSource.DataSet.IsEmpty

en lugar de mirar el SelecdField.IsNull

Espero te sirva
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 16:29:55.


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