Главная страница
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.068 c
2-1266912051
serko
2010-02-23 11:00
2010.08.27
Как скопировать текст из другого приложения?


2-1267552320
HRustBB
2010-03-02 20:52
2010.08.27
Виртуальный диск с источником FTP


15-1273860812
AKE
2010-05-14 22:13
2010.08.27
Согласитесь, что нехватает оператора типа a < x < b


15-1275844691
Dima84
2010-06-06 21:18
2010.08.27
Ошибка form of method call


15-1265588356
Германн
2010-02-08 03:19
2010.08.27
Вопрос для работников частных компаний.