PDA

Ver la Versión Completa : Comparar Bookmark


cancun
16-08-2020, 21:37:29
Hola colegas

En delphi 7 puedo hacer esto y funciona

if Tabla1.Bookmark=Tabla2.Bookmark then // haz esto, obviamente ambas componentes apuntan a la misma tabla

Ahora en delphi Rio (y tal vez en versiones anteriores) ya no funciona, al parecer es porque cambió el bookmark que antes era String y ahora es un Array, anque compare la misma tabla el resultado es False (Tabla1.Bookmark=Tabla1.Bookmark da false)

A alguien le ha pasado ? He probado con GetBookmark y da el mismo resultado

Saludos

Neftali [Germán.Estévez]
17-08-2020, 09:50:14
Puedes probar algo parecido a esto:
if StringOf(Tabla1.Bookmark) <> StringOf(Tabla2.Bookmark) then
También hay un tipo TBookmarkStr (https://www.clubdelphi.com/foros/Pu), que posiblemente si haces el cambio te funcionará, pero desde la documentación se dice que está "deprecated". Para lo nuevo mejor usar el tipo nuevo, para lo antiguo podrías usarlo.

Revisa también el método CompareBookmarks definido en TDataset (http://docwiki.embarcadero.com/Libraries/Rio/en/Data.DB.TDataSet.CompareBookmarks).

cancun
17-08-2020, 18:26:07
Hola Neftali

Gracias por responder, si funciona, aunque lo resolví antes comparando los campos del indice primario, hice la prueba y funciona perfectamente como indicas.

Saludos