x11 Posted November 28, 2020 Share Posted November 28, 2020 Задача простая: передать в процедуру сохранения (восстановления) настроек сетку. В одном случае сетка 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 More sharing options...
stas Posted November 29, 2020 Share Posted November 29, 2020 type TMyuniDBGrid=class(TUniCustomDBGrid); procedure DoMyGrid(Grid:TUniCustomDBGrid); begin TMyUniDBGrid(Grid).Columns end; 1 Link to comment Share on other sites More sharing options...
x11 Posted November 29, 2020 Author Share Posted November 29, 2020 Ошибка несоответствия типов: [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 More sharing options...
Sherzod Posted November 29, 2020 Share Posted November 29, 2020 41 minutes ago, x11 said: grid: TUniCustomDBGridHack Grid: TUniCustomDBGrid 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now