![]() |
|
|
![]()
|
|
| Vyacheslav |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Оператор += не срабатывает , если он применен не просто к переменной, а свойству (property) класса.
Когда Вы используете оператор += для свойства Caption, компилятор генерит код, который создает новую временную переменную AnsiString. Затем компилятор вызывает функцию GetText для того, что бы скопировать содержимое во временную переменную. Следующим шагом создается новая временная переменная AnsiString, которая инициализируется строкой “!!!!!!”. В заключение компилятор вызывает оператор += и соединяет две строки. Результат сохраняется в первой переменной. Проблема в том, что компилятор не генерит код, который бы записал полученный результат обратно в Caption Автор ответа: команда TeamB Вольный пересказ PS переcказчика. Оператор += и прочие не работают со свойствами тогда, когда в качестве атрибута read свойства указана функция.
Но во избежание неприятностей, по моему, лучше не использовать такие операции применительно к свойствам. -------------------- С уважением, Вячеслав Ермолаев |
||||
|
|||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |