Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.031 c
11-1063738459
Dimaxx
2003-09-16 22:54
2004.04.25
Печать графики


14-1080742976
Nick-from
2004-03-31 18:22
2004.04.25
Dll


1-1081429735
}|{yk
2004-04-08 17:08
2004.04.25
Плагины - изучение


7-1077723114
Rentgen
2004-02-25 18:31
2004.04.25
Вскрытие.


1-1081164433
Stas
2004-04-05 15:27
2004.04.25
Помещение иконки в трей





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский