Assasin писал(а):
А в чем же тогда тайна runtimeerrorв обращение к "левому" полю ldata
#hws
0: Result := TextWidth(dt);
1: Result := TextHeigh(dt);
...
dtInteger(_Data,TextWidth(dt));
...
dtInteger(_Data,TextHeigh(dt));
Собственно вся логика элемента не продумана до конца. Поскольку имеется зависимость от внешнего контекста, то нужно было делать процедуру doInit(или что-то вроде), в которой получать этот самый контекст и сохранять его для использования во всех остальных методах(в частности в TextWidth и TextHeigh). Сегодня в качестве контекста передается неинициализированный dt, что очевидно работать никогда не будет.