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

Вниз

Столкнулся с проблемой при приминении паттерна стратегия   Найти похожие ветки 

 
basken   (2004-04-09 15:57) [0]

Столкнулся  с такой проблемой при приминении паттерна стратегия в создании компонента.

Есть абстрактный класс TStrategy и конкретные реализации стратегии TCreateStringStrategy, TDBCreateStringStrategy которые реализуют(каждая реализация по своему) интерфейс класса TStrategy и имеют свои обработчики событий. Так вот вопрос  – каким  образом можно отобразить в TCreatorStrategyAction обработчики событий конкретной реализации TStrategy, возможно ли это? Со свойствами конкретных реализаций класса TStrategy всё впорядке – отображаються, а вот обработчики событий не видно – можно ли их отобразить(очень надо)? За ранее огромное спасибо.

TCreatorStrategyAction = class(TCustomAction)
 private
   FStrategyParams: TStrategy;
   function GetStrategyType: String;
   procedure SetStrategyParams(Value: TStrategy);
   procedure SetStrategyType(const Value: String);
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
   procedure ExecuteTarget(Target: TObject); override;
   procedure UpdateTarget(Target: TObject); override;
 published
   property StrategyType: String read GetStrategyType write SetStrategyType;
   property StrategyParams: TStrategy read FStrategyParams write SetStrategyParams;
 end;


 
WebErr ©   (2004-04-09 16:12) [1]


> За ранее

"Заранее" пишется вместе
Что-то я и событий-то не вижу!!!


 
Fay ©   (2004-04-09 16:14) [2]

2WebErr
Он и говорит - "обработчики событий не видно"!
8))


 
WebErr ©   (2004-04-09 16:19) [3]

Ээй! Там, в лодке!
...
private
 FOnSobytie: TSobytie;
...
published:
 property OnSobytie: TSobytie read FOnSobytie write FOnSobytie;
...
end;


 
WebErr ©   (2004-04-09 16:20) [4]

Ой, забыл ":))))" в конце :))))


 
basken   (2004-04-09 17:02) [5]

События находяться в конкретных реализациях класаа TStrategy

TCreateStringStrategy = class(TStrategy)
 ....
 published
   property CreateString: TCreateString read FCreateString write FCreateString;
   property OnCreateObject: TCreateObjectEvent read FOnCreateObject
     write FOnCreateObject;
   property OnGetCreateString: TGetCreateString read FOnGetCreateString
     write FOnGetCreateString;
   property OnGetParamValue: TGetParamValueEvent read FOnGetParamValue
     write FOnGetParamValue;
 end;


 
basken   (2004-04-09 17:03) [6]

События находяться в конкретных реализациях(у каждой свои) класса TStrategy

TCreateStringStrategy = class(TStrategy)
 ....
 published
   property CreateString: TCreateString read FCreateString write FCreateString;
   property OnCreateObject: TCreateObjectEvent read FOnCreateObject
     write FOnCreateObject;
   property OnGetCreateString: TGetCreateString read FOnGetCreateString
     write FOnGetCreateString;
   property OnGetParamValue: TGetParamValueEvent read FOnGetParamValue
     write FOnGetParamValue;
 end;


 
WebErr ©   (2004-04-09 17:18) [7]

Дык пропиши их в наследниках!!!
property OnSobytie: TSobytie;
без read-write директив!!!


 
Игорь Шевченко ©   (2004-04-09 17:25) [8]

А где надо отобразить ?


 
basken   (2004-04-09 17:28) [9]

TCreateStringStrategy - єто и есть наследники TStrategy ;-). А нужно что бы в классе TCreatorStrategyAction отображались события конкретной реализации.


 
WebErr ©   (2004-04-09 17:39) [10]

Я тебя понял, а вот ты меня - нет! :))))


 
basken   (2004-04-09 18:06) [11]

Дык пропиши их в наследниках!!!
       property OnSobytie: TSobytie;
       без read-write директив!!!

Круто - от этого они наверное станут более видимые!  ;-)



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

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

Наверх




Память: 0.49 MB
Время: 0.048 c
1-1081251256
Dimitry
2004-04-06 15:34
2004.04.25
Запрет ввода некоторых символов в Edit


14-1080795041
han_malign
2004-04-01 08:50
2004.04.25
Да, жестокие у народа шутки


1-1081253610
Shnurok
2004-04-06 16:13
2004.04.25
Отображение формул химических соединений


3-1080294315
russko
2004-03-26 12:45
2004.04.25
SQL-файл


1-1081630509
Klopan
2004-04-11 00:55
2004.04.25
Функция определяющая количество строк в файле.