Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Двумерные массивы в испекторе объектов   Найти похожие ветки 

 
dosik   (2004-07-07 16:30) [0]

Уважаемые мастера. Кто нибудь из Вас сталкивался когда-нибудь с редактированием думерного массива в испекторе объектов. С одномерным все понятно - TCollection. А что с двумерным??? TCollection в TCollection лезть не хочет. Не подкините идейку?


 
Sandman25 ©   (2004-07-07 16:30) [1]

Написать свой редактор


 
dosik   (2004-07-07 16:32) [2]

А как-нибудь побыстрей?


 
Sandman25 ©   (2004-07-07 16:36) [3]

Отказаться от идеи редактирования в design-time или представлять в виде одномерного массива.
Если есть желание, можно попробовать представлять в виде TStrings, и парсить строки, каждая из которых представляет собой конкатенацию одной строки массива. Может, еще есть способы.


 
Mim1 ©   (2004-07-07 17:22) [4]


>  TCollection в TCollection лезть не хочет

Еще как хочет.

unit Button1;

interface

uses
 SysUtils, Classes, Controls, StdCtrls;

type
 TFirstCol = class;
 TFirstColItem = class;
 TSecondCol = class;
 TSecondColItem = class;

 TButton1 = class(TButton)
 private
   FFirstCol : TFirstCol;
 protected
   { Protected declarations }
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 published
   property FirstCol : TFirstCol read FFirstCol write FFirstCol;
 end;

 TFirstCol = class(TCollection)
 private
   FOwner : TPersistent;
 protected
   function GetOwner: TPersistent; override;
 public
   constructor Create(_Owner:TPersistent); reintroduce;
 published

 end;

 TFirstColItem = class(TCollectionItem)
 private
   FSecondCol : TSecondCol;
 protected
   function GetOwner: TPersistent; override;
 public
   constructor Create(Collection: TCollection); override;
   destructor Destroy; override;
 published
   property SecondCol : TSecondCol read FSecondCol write FSecondCol;
 end;

 TSecondCol = class(TCollection)
 private
   FOwner : TPersistent;
 protected
   function GetOwner: TPersistent; override;
 public
   constructor Create(_Owner:TPersistent); reintroduce;
 published

 end;

 TSecondColItem = class(TCollectionItem)
 private

 protected

 public

 published

 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Standard", [TButton1]);
end;

{ TFirstColItem }

constructor TFirstColItem.Create(Collection: TCollection);
begin
 inherited;
 FSecondCol := TSecondCol.Create(self);
end;

destructor TFirstColItem.Destroy;
begin
 FSecondCol.Free;
 inherited;
end;

function TFirstColItem.GetOwner: TPersistent;
begin
 Result := Collection;
end;

{ TButton1 }

constructor TButton1.Create(AOwner: TComponent);
begin
 inherited;
 FFirstCol := TFirstCol .Create(self);
end;

destructor TButton1.Destroy;
begin
 FFirstCol.Free;
 inherited;
end;

{ TFirstCol }

constructor TFirstCol.Create(_Owner: TPersistent);
begin
 inherited Create(TFirstColItem);
 FOwner := _Owner;
end;

function TFirstCol.GetOwner: TPersistent;
begin
 result := FOwner;
end;

{ TSecondCol }

constructor TSecondCol.Create(_Owner: TPersistent);
begin
 inherited Create(TSecondColItem);
 FOwner := _Owner;
end;

function TSecondCol.GetOwner: TPersistent;
begin
 result := FOwner;
end;

end.


Вы просто не умеете их готовить. (с)  <->


 
dosik   (2004-07-07 23:01) [5]

Написал что-то вроде этого. Работает, но вот только в дизайнйне не хочет вложенный лист открыватся в виде отдельного окна (((


 
Mim1 ©   (2004-07-08 07:49) [6]


> [5] dosik   (07.07.04 23:01)

А мой пример смотрел? Теперь делаем тупимеханическую работу с смотри что есть у меня и чего нет у тебя.
Я ведь дал вам пример без лишностей. :|



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
14-1088707894
mvgfirst
2004-07-01 22:51
2004.07.25
У кого какой КПК и кто как применяет (по работе)


3-1088619879
Zlod3y
2004-06-30 22:24
2004.07.25
Окно ввода логина и пароля при подключении к алиасу в ODBC


3-1088413983
KIR
2004-06-28 13:13
2004.07.25
Как передать в ХП параметр типа BLOB


14-1089257648
Aldor_
2004-07-08 07:34
2004.07.25
Установка ХР


1-1089297274
lion
2004-07-08 18:34
2004.07.25
параметры файла