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

Вниз

Вопрос по свойствам!!!   Найти похожие ветки 

 
Arnold ©   (2004-09-23 11:18) [0]

КАк создать published свойство которое отображало бы список всех форм имеющихся в приложений.


 
Sandman25 ©   (2004-09-23 11:21) [1]

Зачем?

В Screen все уже есть.


 
Arnold ©   (2004-09-23 11:23) [2]

Я знаю что есть просто не совсем понимаю как создать список в published свойстве


 
Sandman25 ©   (2004-09-23 11:26) [3]

Почитайте DEL6CW.HLP в $Delphi\Help. Там все описано.


 
Arnold ©   (2004-09-23 11:26) [4]

В published свойство вроде (или может я ошибаюсь) можно только затолнуть определенный набор данных, а мне надо динамический


 
Sandman25 ©   (2004-09-23 11:27) [5]

Хотя, чтобы получить список всех классов форм, которые могут быть созданы в приложении, придется писать эксперт ИМХО.


 
Arnold ©   (2004-09-23 11:28) [6]

Что за эксперт ИМХО?? ?=)


 
Sandman25 ©   (2004-09-23 11:28) [7]

[4] Arnold ©   (23.09.04 11:26)

Неверно. У свойства может быть read метод, а не только read поле.


 
Sandman25 ©   (2004-09-23 11:29) [8]

[6] Arnold ©   (23.09.04 11:28)

Как Вы чувствительны к знакам препинания :)
Чтобы анализировать pas/dfm файл на предмет названия форм.


 
Arnold ©   (2004-09-23 11:33) [9]

Не давай тогда пока формы выкинем. Как вообще создать свойство published типа массив. Ну например массив строк. И можно было бы выбирать в этом массиве определенную строку из объектного инспектора.


 
Erik1 ©   (2004-09-23 12:23) [10]

Думаю, что тут надо использовать колекцию. Вот тебе пример моего компонента:
 TAttribHolder = class(TComponent)
 private
   fAttribute: TStoredItems;
   fPanel: TPanel;
   fDataSet: TDataSet;
   fPrepareEvent: TNotifyEvent;
   fProvider: String;
   procedure SetObject(const Value: TStoredItems);
//    procedure BuildFilter
 protected
   procedure Notification(AComponent: TComponent; Operation: TOperation); override;
   procedure SetNotification;
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
   function ApplayFilter: Boolean;
 published
   property Attribute: TStoredItems read fAttribute write SetObject;
   property Panel: TPanel read fPanel write fPanel;
   property PrepareFilter: TNotifyEvent read fPrepareEvent write fPrepareEvent;
   property DataSet: TDataSet read fDataSet write fDataSet;
   property Provider: String read fProvider write fProvider;
 end;

 TItem = class(TCollectionItem)
 private
   fComps: TIntAtrib;
 protected
   procedure SetControl(Value: TWinControl);
   function  GetControl: TWinControl;
   function  GetDisplayName: string; override;
 public
   constructor Create(Collection: TCollection); override;
   procedure Assign(Source: TPersistent); override;
 published
   property Control: TWinControl read GetControl write SetControl;
   property Param: String read fComps.Param write fComps.Param;
   property Provider: String read fComps.Provider write fComps.Provider;
   property PType: TuserType read fComps.pType write fComps.pType;
 end;

 TStoredItems = class(TOwnedCollection) //TCollection)
 private
   function GetItem(Index: Integer): TItem;
   procedure SetItem(Index: Integer; StoredValue: TItem);
 public
   constructor Create(AOwner: TPersistent);
   function IndexOf(const Name: string): Integer;
   function Add: TItem;
   property Items[Index: Integer]: TItem read GetItem write SetItem; default;
 end;
Спрашивай чего непонятно, смотри свойство Attribute: TStoredItems


 
panov ©   (2004-09-23 13:13) [11]

Рекомендуется:
--------------
- Пожалуйста, старайтесь, чтобы Ваши сообщения соответствовали тематике Форума.
- Корректно оформляйте заголовок ветки, который должен кратко отражать суть вопроса.
- Ветки, озаглавленные "Нужна помощь", "Срочно, горю", "Help", "Памогите, кто знаете" и т.п. будут удаляться в обязательном порядке.
- В Форуме принято отвечать за свои слова и следить за точностью и корректностью своих высказываний и сообщаемой информации.
- Не стоит использовать Форум для сообщений личного характера, которые не представляют интереса для других участников Форума.  Для этого существует электронная почта.
- Во избежание межнациональных споров, все сообщения в форуме должны быть на русском языке, в крайнем случае - латинице.
- Старайтесь избегать "оффтопиков". Добавляя свое сообщение, убедитесь, что оно соответствует обсуждаемой теме.
- Соблюдайте нетикет оформления веток. Не стоит "кричать" и привлекать внимания к своей теме используя прописные символы, восклицательные знаки в больших количествах и т.п.



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

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

Наверх




Память: 0.5 MB
Время: 0.023 c
10-1028118297
LeS
2002-07-31 16:24
2004.10.10
Помогите начинающему. Регистрация ком.


10-1047475374
Grrey
2003-03-12 16:22
2004.10.10
Глюки при создании ActveX компонентов.


14-1095509530
Тупой:)
2004-09-18 16:12
2004.10.10
Где скачать FAQ по Delphi ???


4-1094412924
wicked
2004-09-05 23:35
2004.10.10
CloseHandle


1-1095715640
lipskiy
2004-09-21 01:27
2004.10.10
Функция поиска подстроки в строке на asmе