FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Dudas sobre Bookmarks
LLevo bastante tiempo mirando toda la ayuda sobre los Bookmarks, y solo dice que cada descendiente de Dataset lo implementa de una forma distinta, pero no dice como!!
Trabajo con tablas paradox y BDE, obviamente si borro un registro el Bookmark se irá a tomar paseo. Pero, 1- ¿Si cambio el indice activo de la tabla tambien se pierde? (segun mis pruebas si ) 2- Existe alguna forma de apuntar a un registro independientemente del indice y poder acceder a él? 3- En que otras circunstancias se pierde la validez de un Bookmark ?? Gracias de antemano por sacarme de este lio mas grande Saludos |
#2
|
||||
|
||||
Simplemente puedes guardar en una variable del tipo TBookmark el puntero al registo que desees, y luego puedes acceder directamente a este registro mediante él método GotoBookmark.
Este ejemplo lo saqué de la ayuda de Delphi 5:
Otra opción es usar un TBookmarkStr:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Cita:
// Saludos |
#4
|
||||
|
||||
Bueno, pero en la siguiente parte de la prueba basta regresar al índice anterior para poder usar el Bookmark.
// Saludos |
#5
|
||||
|
||||
ups, Román se me ha adelantado mientras repondía.
Cita:
|
#6
|
||||
|
||||
Pues sip, Roman tenía razón, funciona muy bien, había dejado una linea por ahí suelta que modificaba el indice.
Gracias Roman y delphi.com.ar!!! |
#7
|
||||
|
||||
Gracias por responder delphi.com.ar, y sobre todo por la rapidez.
El problema viene cuando guardo el bookmark, cambio el indice de la tabla y despues restauro el bookmark, en este punto me lanza una Excepcion 'Key/Record deleted' por lo que supongo que el bookmark está asociado al indice de la tabla, en lugar de al registro físico. Mi intención era guardar en la propiedad Objects de un TCheckListbox un bookmark al registro que representa. Había probado de las 2 formas que propones: - Creando ( y liberando despues) el bookmark obtenido con GetBookmark y FreeBookmark. - Usando la propiedad Bookmark del Dataset. De ambas formas me sale la excepción antes comentada, ya que la tabla tiene varios indices definidos y el usuario lo puede cambiar. He mirado el código de la VCL de estos métodos y propiedades... pero no tardo mucho en perderme . Por eso preguntaba si hay forma de apuntar a un registro sin importar el índice activo. Explicado mejor el tema a ver si hay sugerencias.... Saludos |
|
|
|