![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Внутреннему класу узнать параметр класа в который он входит [D6]
zorik © (2006-10-11 11:06:00)Скажем есть клас для сохранения чего-либо в специфический формат. Формат сохранения - текстовый файл, который состоит из некого количества блоков. Существует еще такая спецификация как версия
Блок общий
TBlock = class
private
FShortDescr: String;
public
constructor Create;
destructor Destroy; override;
property ShortDescr: String read FShortDescr write FShortDescr;
procedure Draw; virtual; abstract;
end;
constructor TZLasBlock.Create;
begin
inherited Create;
FShortDescr :='';
end;
Блок "Версия"
TVersBlock = class(TBlock)
private
public
constructor Create;
destructor Destroy; override;
end;
общий клас
TZFile = class
private
FVers: Integer;
FVersBlock: TVersBlock;
...
public
constructor Create;
...
end;
constructor TZFile Create;
begin
inherited Create;
FVers := 0;
FVersBlock := TVersBlock.Create;
end;
в реализации метода TVersBlock.Create нужно реализовать следущее:
case FVersof
1: FShortDescr := 'Версия 1.0';
...
но о версии TVersBlock не знает
zorik (2006-10-11 14:23:00) [1]Проблему решил. Проблема в том, что разные блоки, будут формироватся в зависимости от многих параметров, не только от версии
jack128 (2006-10-11 12:26:00) [2]zorik © (11.10.06 11:06)
но о версии TVersBlock не знает
ну передай в конструктор TVersBlock эту версию, в чем проблема?