Hola shoulder.
Si no te entiendo mal, creo que tu problema se soluciona con una variable privada de tipo
TBookmarkStr.
Código Delphi
[-]
...
private
FBM:= TBookMarkStr;
public
end;
...
implementation
...
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
FBM:= DataSet.Bookmark; Edit1.Text:= DataSet.FieldByName('CAMPO1').AsString;
Edit2.Text:= DataSet.FieldByName('CAMPO2').AsString;
...
end;
procedure TForm1.ModificarClick(Sender: TObject);
var
LBM: TBookmarkStr;
begin
LBM:= DataSet.Bookmark; DataSet.Bookmark:= FBM; DataSet.Edit;
DataSet.FieldByName('CAMPO1').AsString:= Edit1.Text;
DataSet.FieldByName('CAMPO2').AsString:= Edit2.Text;
...
DataSet.Post;
DataSet.Bookmark:= LBM; end;
Un saludo.