Главная страница
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
15-1321384309
Faceless
2011-11-15 23:11
2012.03.11
Работа Delphi программистом в США


2-1322507312
_qwerty_
2011-11-28 23:08
2012.03.11
работа с таблицей бд из класса


15-1321469110
wl
2011-11-16 22:45
2012.03.11
На хабрахабре открыта регистрация


15-1321514725
DelphiN!
2011-11-17 11:25
2012.03.11
Сервер для хранения приложений для запуска их на клиентах


2-1322555028
Cobalt
2011-11-29 12:23
2012.03.11
IFDEF, не та версия?