Jump to content

Recommended Posts

Posted

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

Posted

type TMyuniDBGrid=class(TUniCustomDBGrid);

procedure DoMyGrid(Grid:TUniCustomDBGrid);

begin

TMyUniDBGrid(Grid).Columns

end;

  • Like 1
Posted

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

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

 

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