Hola JoRoGar, por el código que mostras el problema puede ser que no te estas 
moviendo al registro que sufrió la modificación, GetNextModified te devuelve el 
número del registro que fue modificado/eliminado/insertado pero no mueve el 
puntero al mismo por lo que lo tenes que hacer vos.
Debajo te paso un ejemplo que utiliza GetNextModified con una lógica que 
detecta todos los cambios.

Saludos.

Anibal Ceberio

Local lnNroRegistro As Integer
lnNroRegistro = 0
Clear
Create Cursor Test ( Campo1 C(1) )

Insert Into Test ( Campo1 ) Values ( "A" )
Insert Into Test ( Campo1 ) Values ( "B" )
Insert Into Test ( Campo1 ) Values ( "C" )

CursorSetProp( "Buffering", 5, "Test" )

Delete From Test Where Campo1 == "A"

Update Test Set Campo1 = "b" Where Campo1 == "B"

Insert Into Test ( Campo1 ) Values ( "D" )


*!* El unico que no cambio fue el registro con Campo1 == "C"

lnNroRegistro = GetNextModified( 0, "Test" )
Do While lnNroRegistro # 0
    Go lnNroRegistro
    ? Campo1
    lnNroRegistro = GetNextModified( lnNroRegistro, "Test" )
EndDo


  ----- Original Message ----- 
  From: Rodolfo 
  To: GUFA List Member 
  Sent: Thursday, October 11, 2007 9:46 AM
  Subject: [GUFA] Funcion GetNextModified (una vez mas)




    Hola colegas vuelvo a enviar el mensaje con la duda que tengo con la 
esperanza de que alguien me pueda ayudar. 

    La pregunta esta vez es por algo relacionado con la funcion GetNextModified 
y su comportamiento. 

    Tengo un formulario en el que permito Insertar o Eliminar registros en un 
Cursor creado con Select ...From ... Into Cursor xxx ReadWrite al que le 
establezco almacenamiento de tablas en buffer (Buffering=5) y necesito 
almacenar en un arreglo (Scatter to<arreglo>) los registros que han sido 
agregados o modificados pues en ese cursor pueden existir mas registros que no 
hayan sufrido cambios. Me interesa conocer el contenido de los que han 
cambiado, y coloco el siguiente codigo en el evento Destroy del form.

    Select MiCursor
    Go Top
    nreco=GetNextModified(0)
    If m.nReco<>0
       Do While .t.  
          Scatter to aModi
          ...... Otras instrucciones
          nReco=GetNextModified(m.nReco)
          If m.nReco=0
             Exit
         EndIf
       EndDo
    EndIf

    Muy parecido a lo que esta en la ayuda para esta funcion y todo esta bien y 
funciona mientras que no haya ocurrido una ELIMINACION o BORRADO de algun 
registro porque entonces GETNEXTMODIFED() no reconoce cambio alguno aunque los 
haya habido.

    Estoy en un error de concepto o garrafal como quiera llamarse o debo hacer 
algo extra para lograr lo que quiero.

    Esperando que me hayan entendido y por supuesto que me puedan ayudar.

    Les saluda

    JoRoGar

Responder a