Суть в том что мне необходимо написать невизуальный компонент, при execute которого будет открывать окно, в нем cxGrid, в общем будет что-то типа справочника (просмотр,выбор,редактирование)...
всё бы ничего если бы я не парился с колонками и делал создать автоматом все колонки, но я не хочу терять возможности настройки колонок.. в итоге хочу при даблклике открывать дизайнер колонок.. просто так колонки создать колонки походу не получится, поэтому при создании компонента создаю cxGridDBTableView, а потом уже в моём редакторе при нажатии добавить вызывается grid.creatcolumn
unit uSprav
type
TSprav= class(TComponent)
private
fView:tcxGridDBTableView;
fowner:tcomponent;
fItems: TList;
fname:TComponentName;
function GetItem(aIndex: Integer): TcxGridDBColumn;
function GetItemCount: Integer;
procedure SetItem(aIndex: Integer; const aValue: TcxGridDBColumn);
protected
procedure Notification(aComponent: TComponent; Operation: TOperation); override;
public
constructor Create(aOwner: TComponent); override;
destructor Destroy; override;
property Items[aIndex: Integer]: TcxGridDBColumn read GetItem write SetItem; default;
procedure AddItem(aItem: TcxGridDBColumn);
procedure RemoveItem(aItem: TcxGridDBColumn);
property ItemCount: Integer read GetItemCount;
function CreateColumn:TcxGridDBColumn;
property View:tcxGridDBTableView read fview write fview;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent);
published
end;
constructor TSprav.Create(aOwner: TComponent);
begin
inherited Create(aOwner);
fItems := TList.Create;
fowner:=aowner;
fview:=TcxGridDBTableView.Create(aowner);
fview.Name:='View'+self.Name;
fview.Repository:=self;
fview.SetSubComponent(true);
end;
function TSprav.CreateColumn:TcxGridDBColumn;
var col:TcxGridDBColumn;
begin
col:=fView.CreateColumn;
Col.Name:='Column'+inttostr(fitems.Count+1);
col.SetSubComponent(true);
additem(col);
result:=col;
end;
.........
кароче в design-time все создаётся, я своё TableView могу даже созданному cxGrid назначить, колонки всё отображается.. вываливается "Invalid propertry path"
а.. и при alt+F12 ошибка вываливается..