d7d1cd Опубликовано 7 мая, 2015 Поделиться Опубликовано 7 мая, 2015 Привет всем. При попытке скопировать свойства анимации возникает исключение EConvertError: FloatAnimation1->Assign(FloatAnimation2); Почему так? DouglaswaW, Marina7827zSear и ThomasKl 3 Ссылка на комментарий
0 Alex7wrt Опубликовано 7 мая, 2015 Поделиться Опубликовано 7 мая, 2015 Попробуйте так: FloatAnimation1 = FloatAnimation2; Ссылка на комментарий
0 d7d1cd Опубликовано 7 мая, 2015 Автор Поделиться Опубликовано 7 мая, 2015 Попробуйте так: FloatAnimation1 = FloatAnimation2; В результате этого в FloatAnimation1 скопируются не свойства а указатель на FloatAnination2. По сути я получу два имени одного и того же объекта. А мне надо два одинаковых объекта. Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 7 мая, 2015 Администраторы Поделиться Опубликовано 7 мая, 2015 (изменено) Добрый день, У всех аниматоров метод Assign не реализован, как по-моему у всех FireMonkey контролов. Поэтому вы получаете эту ошибку. Решение Копируйте вручную. Либо напишите хелпер. P.S. Добавил реквест на реализацию метода Assign Изменено 7 мая, 2015 пользователем Brovin Yaroslav xenon54 и Alex7wrt 2 Ссылка на комментарий
0 d7d1cd Опубликовано 7 мая, 2015 Автор Поделиться Опубликовано 7 мая, 2015 Это ясно. Непонятно почему этот метод включен в класс и почему справка говорит нам о том, что метод можно использовать для копирования... Спасибо за ответ и за реквест! Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 7 мая, 2015 Администраторы Поделиться Опубликовано 7 мая, 2015 Метод Assign идет от класса TPersistent. Это базовая функциональность этого класса. Каждый наследник по идеи должен перекрыть AssignTo и реализовать копирование своих данных в переданный объект. Если же реализации нету, то выбрасывается исключение, которое вы и получили. procedure TPersistent.Assign(Source: TPersistent); begin if Source <> nil then Source.AssignTo(Self) else AssignError(nil); end; А в справку это попало видимо по наследованию. То есть есть общее описание этого метода для TPersistent и оно автоматически посасывается в каждом наследнике. Ссылка на комментарий
Вопрос
d7d1cd
Привет всем. При попытке скопировать свойства анимации возникает исключение EConvertError:
FloatAnimation1->Assign(FloatAnimation2);
Почему так?
Ссылка на комментарий
5 ответов на этот вопрос
Рекомендуемые сообщения