Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Наследование. Запутался. [D7]


mfender ©   (2010-04-30 09:56:00) 

Здравствуйте, товарищи.
Где-то у меня что-то не соображает.
Вводная: есть замечательная штука в Indy - TIdUri. Всё хорошо, но она не разбирает по полкам QueryString. А мне приспичило сделать это.

Делаю следующим образом (в листинге, понятное дело оставляю только соль, выкинув всё ненужное):

 TIdURI = class
 protected
   FURI: String;
   FParams: string;

   procedure SetURI(const Value: String);
   function GetURI: String;
 public
   constructor Create(const AURI: string = ''); virtual;    {Do not Localize}

   property Params: string read FParams write FParams;
   property URI: string read GetURI write SetURI;
 end;

 TIdUriEx = class(TIdUri)
 private
   FParams: string;
   function GetParams: string;
 protected
   procedure SetURI(const Value: string);
 public
   constructor Create(const AURI: string = ''); override;
   destructor Destroy;

   procedure ParseParams; //Тут как раз происходит разбор строки

   property Params: string read GetParams write FParams;
   property URI: string read GetURI write SetURI;
 end;

implementation

procedure TIdUriEx.SetURI(const Value: string);
begin
 inherited SetURI(Value);
 ParseParams;
end;


Вот тут-то происходит затык. Приделать override к SetURI нельзя - статичный метод. И вот как бы сделать, чтобы после всех действий в SetURI базового класа, произвести разбор строки в моём наследнике?


mfender   (2010-04-30 10:03:00) [1]

Всё, всё оказалось правильно. просто я свой ParseParams зацикливал на самого себя, а Indy это Indy и он просто от назойливого меня избавлялся. ))))))


Наверх

Титульная страница Поиск, карта сайта Написать письмо