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

Вниз

Наследование. Запутался.   Найти похожие ветки 

 
mfender   (2010-04-30 09:56) [0]

Здравствуйте, товарищи.
Где-то у меня что-то не соображает.
Вводная: есть замечательная штука в 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) [1]

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



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

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

Наверх




Память: 0.47 MB
Время: 0.045 c
2-1266753754
Neyladel
2010-02-21 15:02
2010.08.27
Зависает Форма


15-1263677426
Юрий
2010-01-17 00:30
2010.08.27
С днем рождения ! 17 января 2010 воскресенье


2-1274761583
Андрей_1
2010-05-25 08:26
2010.08.27
как перехватить сообщение


4-1234416338
EgorovAlex
2009-02-12 08:25
2010.08.27
Именованный канал с анонимным доступом.


2-1275097955
DROWSY
2010-05-29 05:52
2010.08.27
"Логический" тип данных Firebird 1.5 в компонентах.