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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...