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 свойству. Quote
stas Posted November 29, 2020 Posted November 29, 2020 type TMyuniDBGrid=class(TUniCustomDBGrid); procedure DoMyGrid(Grid:TUniCustomDBGrid); begin TMyUniDBGrid(Grid).Columns end; 1 Quote
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 ... Quote
Sherzod Posted November 29, 2020 Posted November 29, 2020 41 minutes ago, x11 said: grid: TUniCustomDBGridHack Grid: TUniCustomDBGrid 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.