[Решено] Zeos: Bookmark was not found

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

[Решено] Zeos: Bookmark was not found

Сообщение ronin » 29.03.2012 14:52:59

Хотелось прояснить один момент, использую Zeos в проекте, при выполнении Post датасета вылетает ошибка Bookmark was not found (multiselect в гриде Rx), нашёл место где вылетает ошибка:

Код: Выделить всё
procedure TZAbstractDataset.InternalPost;
var
  RowBuffer: PZRowBuffer;
  {$IFDEF DELPHI12_UP}
  BM: TBookMark;
  {$ELSE}
  BM:TBookMarkStr;
  {$ENDIF}
begin
  if (FSequenceField <> '') and Assigned(FSequence) then
  begin
    if FieldByName(FSequenceField).IsNull then
      FieldByName(FSequenceField).Value := FSequence.GetNextValue;
  end;

  //inherited;  //AVZ - Firebird defaults come through when this is commented out

  if not GetActiveBuffer(RowBuffer) then
    raise EZDatabaseError.Create(SInternalError);

  Connection.ShowSqlHourGlass;
  try
    if State = dsInsert then
      InternalAddRecord(RowBuffer, False)
    else
      InternalUpdate;

    {BUG-FIX: bangfauzan addition}
    if (SortedFields <> '') and not (doDontSortOnPost in Options) then
    begin
      FreeFieldBuffers;
      SetState(dsBrowse);
      Resync([]);
      if BookmarkValid(@BM) Then
      begin
        InternalGotoBookmark(@BM);      <-- Здесь вылетает ошибка
        Resync([rmExact, rmCenter]);
      end;
      DisableControls;
      InternalSort;
      BookMark:=BM;
      UpdateCursorPos;
      EnableControls;
    end;
    {end of bangfauzan addition}
  finally
    Connection.HideSqlHourGlass;
  end;
end;


при вызове InternalGotoBookmark ошибка, в процедуре следующий код

Код: Выделить всё
if not GotoRow(PInteger(Bookmark)^) then
    raise EZDatabaseError.Create(SBookmarkWasNotFound);


здесь не проходит проверку, почему не пойму... поискал в гугле ответ, нашёл описание бага и попытку решения аж от 2009 года, пока закомментировал данную строку, ошибка не повторяется естественно

скажите пожалуйста в чём может быть причина? заранее спасибо откликнувшимся...
Последний раз редактировалось ronin 02.04.2012 08:50:16, всего редактировалось 1 раз.
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Zeos: Bookmark was not found

Сообщение Ism » 29.03.2012 15:29:49

Слышал о подобной проблеме , кажется пофиксили в testing или testing-egonhugeist
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Zeos: Bookmark was not found

Сообщение ronin » 29.03.2012 16:10:32

брал из testing месяц назад
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Zeos: Bookmark was not found

Сообщение ronin » 02.04.2012 08:49:54

обновил лазарус из Daily Snapshots, zeos из testing, ошибки вроде не наблюдаю, отмечу пока вопрос решённым
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 236

Рейтинг@Mail.ru