Показать сообщение отдельно
  #5  
Старый 14.10.2013, 10:02
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

Спасибо, но мне это не поможет, мне бы пример, буду очень благодарен! Пример описания самих процедур

И ещё, как прикрутить к наследнику TreeView StringGrid, или таблицу лучше самому рисовать? Хочу сделать что-то типа делфовского ObjectInspector... Может есть бесплатный вариант? Пишу программу для работы, не хочется использовать платные модули, чтобы не было проблем...

Нашёл компонент TTreeList2 - буду пробовать.

Всё-таки решил использовать VirtualTreeView...
Написал формочку, которую без рамки гружу на скроллбокс... Для универсализации (таких форм может несколько подгружаться как класс) нужно передавать в неё через параметр Property формы-класса указатели на Структуру массива (тип массива) и указатель на сам массив, а также количество столбцов, и StringList с названиями столбцов...
Итак, вопросы, прошу помощи!

1.
Код:
type
  TRcrd = record
          id,
          parentid:Integer;
          editable:boolean;
          param,
          value:string
  end;

...

  ArrRcrd:array of TRcrd ;

Указатель на массив PArrRcrd:
Код:
PArrRcrd = ^ArrRcrd

Доступ к элементам массива ArrRcrd - ПРАВИЛЬНО?:
Код:
PArrRcrd[i].id

Ворос: Как, зная указатель на массив, получить указатель на его тип, то есть на структуру TRcrd???


2.
Как узнать количество элементов в структуре Record? Нужно для того, чтобы не передавать лишний параметр количества создаваемых столбцов ColumnCount

3.
Немного не разобрался с получением параметров Property.. Обязательно ли использование Write? Параметры считаются полученными без использование процедуры, указанной после Write? В коде ниже возникает ошибка типов (Incompatible Types)
Код:
type
  TFVST = class(TForm)
    VST: TVirtualStringTree;
.....
  public
    procedure SerProp;
    property PArrRcrd:Pointer write SerProp;
    property ColumnCount: integer write SerProp;
    property ColumnNames:TStringList write SerProp;
  end;

Может есть другой, более удобный способ передачи параметров таких типов как указатели и StringList?
Ответить с цитированием