Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGridEh - ошибка "при работе с закладкой" / 5 сообщений из 5, страница 1 из 1
18.06.2003, 18:08
    #32185887
mpro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh - ошибка "при работе с закладкой"
что сие означает?
Возникает сволочь не постоянно а иногда после замены данных в гриде
...
Рейтинг: 0 / 0
18.06.2003, 18:17
    #32185900
Cooper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh - ошибка "при работе с закладкой"
а чё за закладка то?
...
Рейтинг: 0 / 0
18.06.2003, 18:21
    #32185907
mpro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh - ошибка "при работе с закладкой"
я пока с ними не разбиралься но ошибка вываливается в этой функции
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
function TDBGridEhSelectionRect.BoxRect(ALeft: Integer; ATop: TBookmarkStr;
  ARight: Integer; ABottom: TBookmarkStr): TRect;
var OldRec: Integer;
  TopGridBM, BottomGridBM: TBookmarkStr;
  TopRow, BottomRow: Integer;
  SwapCol: Integer;
  SwapBM: TBookmarkStr;

  function FindRecNumByBookmark(BM: TBookmarkStr): Integer;
  var i: Integer;
  begin
    Result := - 1 ;
    for i :=  0  to FGrid.FDataLink.RecordCount -  1  do
    begin
      FGrid.FDataLink.ActiveRecord := i;
      with FGrid.DataSource.DataSet do
        if CompareBookmarks(Pointer(BM), Pointer(Bookmark)) =  0  then
        begin
          Result := i;
          Break;
        end;
    end;
  end;
begin
  if ALeft > ARight then
  begin
    SwapCol := ALeft;
    ALeft := ARight;
    ARight := SwapCol;
  end;
  if FGrid.DataSource.DataSet.CompareBookmarks(Pointer(ATop), Pointer(ABottom)) >  0  then
  begin
    SwapBM := ATop;
    ATop := ABottom;
    ABottom := SwapBM;
  end;
  OldRec := FGrid.FDataLink.ActiveRecord;
  try
    FGrid.FDataLink.ActiveRecord :=  0 ;
    TopGridBM := FGrid.DataSource.DataSet.Bookmark;
    if FGrid.DataSource.DataSet.CompareBookmarks(Pointer(ATop), Pointer(TopGridBM)) <  0  then
      TopRow :=  0 
    else begin
      TopRow := FindRecNumByBookmark(ATop);
    end;
    if TopRow = - 1  then TopRow := FGrid.FDataLink.RecordCount;
    TopRow := TopRow + FGrid.TopDataOffset;

    FGrid.FDataLink.ActiveRecord := FGrid.FDataLink.RecordCount -  1 ;
    BottomGridBM := FGrid.DataSource.DataSet.Bookmark;

    if FGrid.DataSource.DataSet.CompareBookmarks(Pointer(ABottom), Pointer(BottomGridBM)) >  0  then
      BottomRow := FGrid.VisibleDataRowCount
    else begin
      BottomRow := FindRecNumByBookmark(ABottom);
    end;
    BottomRow := BottomRow + FGrid.TopDataOffset; // -  1 ;
  finally
    FGrid.FDataLink.ActiveRecord := OldRec;
  end;

  Result := FGrid.BoxRect(FGrid.DataToRawColumn(ALeft), TopRow,
    FGrid.DataToRawColumn(ARight), BottomRow);
//
end;
...
Рейтинг: 0 / 0
18.06.2003, 18:22
    #32185909
mpro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh - ошибка "при работе с закладкой"
на этой строчке

if FGrid.DataSource.DataSet.CompareBookmarks(Pointer(ATop), Pointer(ABottom)) > 0 then
...
Рейтинг: 0 / 0
19.06.2003, 11:09
    #32186229
Andrei_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBGridEh - ошибка "при работе с закладкой"
у меня такие ошибки были когда закладки уже нет (например квери закрыл открыл перед этим, или строку удалил на которую ссылается)
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGridEh - ошибка "при работе с закладкой" / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]