- Код: Выделить всё
- 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.



