Jump to content

TUniDBGrid, TUniDBGridTree и columns


x11

Recommended Posts

Задача простая: передать в процедуру сохранения (восстановления) настроек сетку. В одном случае сетка 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 свойству.

Link to comment
Share on other sites

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

[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
  ...

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...