Jump to content

Recommended Posts

Posted

Задача простая: передать в процедуру сохранения (восстановления) настроек сетку. В одном случае сетка TUniDBGrid, а в другом - сетка TUniDBGridTree.

Нет смысла писать отдельно процедуры для TUniDBGrid и отдельно для TUniDBGridTree, т.к. сохранение/восстановление настроек заключается в обработке свойств столбцов: width, index, visible, expanded.

В обоих сетках это всё одинаковое.

procedure StoreGridToDB(grid: TUniGrid)

Какой тип (класс) указать в качестве параметра?

Или как сделать правильное приведение типов?

 

Посмотреть иерархию классов:

http://www.unigui.com/doc/online_help/api/uniDBTreeGrid_TUniDBTreeGrid.html

http://www.unigui.com/doc/online_help/api/uniDBGrid_TUniDBGrid.html

обе сетки можно привести к общему родителю TUniCustomDBGrid, но у TUniCustomDBGrid нет свойства columns, вернее оно есть, но оно в секции protected. Тогда вопрос: как добраться к protected свойству.

Posted

type TMyuniDBGrid=class(TUniCustomDBGrid);

procedure DoMyGrid(Grid:TUniCustomDBGrid);

begin

TMyUniDBGrid(Grid).Columns

end;

  • Like 1
Posted

Ошибка несоответствия типов:

[dcc32 Error] ufrdFav.pas(143): E2010 Incompatible types: 'TUniCustomDBGridHack' and 'TUniDBGrid'

UniMainModule.StoreRestore.StoreGridToDB(dbgFav);

 

Объявлено так:

Type
  TUniCustomDBGridHack = class(TUniCustomDBGrid);


procedure TStoreRestore.StoreGridToDB(grid: TUniCustomDBGridHack);
begin
  ...

 

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...