- Код: Выделить всё
Type
TMyClass=Class
Private
Type
TMyMemoryStream=Class(TCustomMemoryStream)
End;
Public
Procedure MyProc;
End;
Procedure TMyClass.MyProc;
Begin
with TMyMemoryStream.Create
do SetPointer(nil,0)
End;
Однако если TMyMemoryStream объявить не внутри класса, а отдельно (ессно, в том же модуле), то обращение к protected полям и методам (TCustomMemoryStream.SetPointer объявлен как protected) компилируется и работает.
Несколько нелогичная imho разница в поведении. Если это фича, объясните plz её смысл. Если баг - повесьте, пожалуйста, репорт: я, к стыду своему, до сих пор багтрекером так и не пользовался.
P.S. FPC 2.5.1 20110808.