Изменить цвет из прямоугольника, используя TColorListBox
Я снова здесь. Я просто хотел бы узнать, как изменить цвет фона прямоугольника (Shape) с помощью TColorListBox. Я знаю, что это легко, однако я получаю исключение все время, когда пытаюсь установить новое значение для прямоугольника. Я использую следующую команду:
Rectangle1->Fill->Color = ColorListBox1->Color;
Функция:
void __fastcall TForm1::ColorListBox1Click(const TCustomListBox *Sender,
const TListBoxItem *Item)
{
Rectangle1->Fill->Color = ColorListBox1->Color;
}
Теперь ошибка, которую я получаю все время, я пытаюсь изменить цвет:
Access violation at address 00405628 in module 'Project1.exe'. Read of address 00000360.
Еще одно исключение отладчика здесь:
First chance exception at $00405615. Exception class $C0000005 with message 'access violation at 0x00405615: read of address 0x00000360'. Process Ninterpres.exe (904)
Может ли кто-нибудь помочь мне, пожалуйста? С тех пор, спасибо много!
2 ответа
Я обнаружил проблему... Код нарушения прав доступа из-за нескольких указателей с одинаковым именем. В этом случае я использовал Rectangle1 (на самом деле он назывался Transp, я изменил имя, чтобы поместить его здесь, чтобы упростить понимание) как int var и как объект... Спасибо за ответы XD.
Вы впервые написали
ColorListBox1
и второй раз вы использовали имя без '1'
ColorListBox->Color;
Но похоже, что вы не инициализировали какой-либо объект (насколько я помню, это будет сделано автоматически редактором форм), поэтому программа выдает исключение.