x11 Posted November 28, 2020 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 свойству.
stas Posted November 29, 2020 Posted November 29, 2020 type TMyuniDBGrid=class(TUniCustomDBGrid); procedure DoMyGrid(Grid:TUniCustomDBGrid); begin TMyUniDBGrid(Grid).Columns end; 1
x11 Posted November 29, 2020 Author 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 ...
Sherzod Posted November 29, 2020 Posted November 29, 2020 41 minutes ago, x11 said: grid: TUniCustomDBGridHack Grid: TUniCustomDBGrid 1
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now