Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.03.11;
Скачать: CL | DM;

Вниз

работа с bookmark   Найти похожие ветки 

 
_qwerty_   (2011-11-30 12:17) [0]

Нужно восстанавливать позицию курсора в датасете после FindKey. Корректен ли такой код?


function TGroups.Exists(Id: Integer): Boolean;
var
 Bookmark: TBookmark;
begin
 Bookmark := FGroupsTable.GetBookmark;
 try
   Result := Find(Id); // <- внутри функции вызывается FindKey,
     // который позиционирует курсор на найденную в датасете запись.
 finally
   if FGroupsTable.BookmarkValid(Bookmark) then
     FGroupsTable.GoToBookmark(Bookmark);
   FGroupsTable.FreeBookmark(Bookmark);
 end;
end;


 
Ega23 ©   (2011-11-30 12:20) [1]

Корректен.


 
Ega23 ©   (2011-11-30 12:20) [2]

Я бы ещё Disable/Enable Controls добавил, чтобы грид не прокручивался.


 
_qwerty_   (2011-11-30 12:30) [3]

а если Exists - метод класса ком-сервера. пользователь из 1С будет его вызывать и проверять существование группы, в этом случае Disable/Enable Controls не нужны?


 
Ega23 ©   (2011-11-30 12:43) [4]


>  пользователь из 1С будет его вызывать и проверять существование
> группы, в этом случае Disable/Enable Controls не нужны?


Выполни сначала свой код.
Потом вот такой:
function TGroups.Exists(Id: Integer): Boolean;
var
 Bookmark: TBookmark;
begin
FGroupsTable.DisableConrols;
try
 Bookmark := FGroupsTable.GetBookmark;
 try
   Result := Find(Id); // <- внутри функции вызывается FindKey,
     // который позиционирует курсор на найденную в датасете запись.
 finally
   if FGroupsTable.BookmarkValid(Bookmark) then
     FGroupsTable.GoToBookmark(Bookmark);
   FGroupsTable.FreeBookmark(Bookmark);
 end;
finally
 FGroupsTable.EnableConrols;
end;
end;


Почувствуй разницу.



Страницы: 1 вся ветка

Текущий архив: 2012.03.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1321812059
spbstu_helpme
2011-11-20 22:00
2012.03.11
delphi численное интегрирование


2-1322435280
Vyacheslav
2011-11-28 03:08
2012.03.11
try except end;


2-1321966512
jacksotnik
2011-11-22 16:55
2012.03.11
Картинка в mysql


15-1321859139
OW
2011-11-21 11:05
2012.03.11
Опять не понимаю логику Oracle


15-1321442171
OW
2011-11-16 15:16
2012.03.11
есть ли в природе какой старый FastReport? бесплатный, с сорцами