Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
ВнизВопрос по свойствам!!! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c