что-то я всё не могу понять систему работы с классами
есть такая иерархия классов
- Код: Выделить всё
TBase = class
private
protected
FName:String;
FID:integer;
FType:TInterfaceBase;
public
end;
TTributarBase = class (TBase)
private
protected
FRx,FTx:TBase; //исп. как указатель либо на TTributarBase, либо на TVCBase
public
end;
TVCBase = class(TBase)
private
protected
FMember:TBase; //исп. как указатель
public
end;
TSTM1 = class
private
...
protected
FVCRx: array [0..62] of TVCBase; //эти классы все создаются
FVCTx: array [0..62] of TVCBase; //эти классы все создаются
public
end;
TLine = class
private
...
FSTM1:TSTM1;//создаётся класс
...
public
end;
TCross = class
private
FLineA,FLineB:TLine;//тоже создаётся
public
end;
вопрос в струдию!!!
у нас допустим дан элемент FBase от TBase, по элементу FType в нём нам известно что он отностился к одному из... либо FLineA, либо FLineB
есть указатель aLine:TLine;
получаем указатель на соответствующий класс
aLine:=TLine(FBase)
при обращении к методу либо свойству класса всё работает номально
i:=aLine.ID
но если сделать так, то вылетает
i:=aLine.FSTM1.FVCRx[5].ID