Главная страница
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.01 c
2-1321812059
spbstu_helpme
2011-11-20 22:00
2012.03.11
delphi численное интегрирование


2-1322641073
_qwerty_
2011-11-30 12:17
2012.03.11
работа с bookmark


6-1253363408
DmitriyG.
2009-09-19 16:30
2012.03.11
TIdHTTP заменяет = на ?


1-1288366250
Vasena
2010-10-29 19:30
2012.03.11
Полиморфизм+"множественное наследование"


15-1321955128
toropoff
2011-11-22 13:45
2012.03.11
SQL запрос