Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Que significa esta excepción Invalid pointer operation (https://www.clubdelphi.com/foros/showthread.php?t=73577)

JerS 02-05-2011 23:12:49

Que significa esta excepción Invalid pointer operation
 
Buenas amigos hago una consulta cualquiera no tiene nada de especial

Código Delphi [-]
ZQuery2.Close;
ZQuery2.SQL.Clear;
ZQuery2.SQL.Add('Select corrido,turno24,agenda from DetallePersonal Inner Join TipoPersonal On cod_tipo=codigo and cedula='+quotedstr(cedula));
ZQuery2.Open;
     IF Not ZQuery2.Eof Then
                        Begin
                          corridobeta:=ZQuery2.fieldbyname('corrido').AsInteger;
                          H24:=inttostr(ZQuery2.fieldbyname('turno24').AsInteger);
                          HorarioP:=ZQuery2.fieldbyname('agenda').AsInteger;
                        End
                      Else
                        Begin
                          corridobeta:=0;
                          H24:='0';
                          HorarioP:=0;
                        End;

y no siempre de vez en cuando me sale la excepción Invalid pointer operation

ContraVeneno 03-05-2011 00:29:11

seguramente el error te lo marca cuando no te trae resultados la consulta.

En lugar de verificar el OEF, debes verificar con IsEmpty o con RecordCount, pero tambien tendrías que hacer un First y luego un Last para que te aparezca la información correcta.

JerS 03-05-2011 01:19:30

Cita:

Empezado por ContraVeneno (Mensaje 398635)
seguramente el error te lo marca cuando no te trae resultados la consulta.

En lugar de verificar el OEF, debes verificar con IsEmpty o con RecordCount, pero tambien tendrías que hacer un First y luego un Last para que te aparezca la información correcta.



Como quedaria? algo como esto:

Código Delphi [-]
ZQuery2.Close;
ZQuery2.SQL.Clear;
ZQuery2.SQL.Add('Select corrido,turno24,agenda from DetallePersonal Inner Join TipoPersonal On cod_tipo=codigo and cedula='+quotedstr(cedula));
ZQuery2.Open;
     IF Not ZQuery2.ReCount>0 Then
                        Begin
                          corridobeta:=ZQuery2.fieldbyname('corrido').AsInteger;
                          H24:=inttostr(ZQuery2.fieldbyname('turno24').AsInteger);
                          HorarioP:=ZQuery2.fieldbyname('agenda').AsInteger;
                        End
                      Else
                        Begin
                          corridobeta:=0;
                          H24:='0';
                          HorarioP:=0;
                        End;

JerS 03-05-2011 01:57:33

Continua el mismo Problema!. pero en realidad a que se debe la excepción Invalid Pointer Operation? :confused:


La franja horaria es GMT +2. Ahora son las 06:29:41.

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