Изменить цвет из прямоугольника, используя 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;

Но похоже, что вы не инициализировали какой-либо объект (насколько я помню, это будет сделано автоматически редактором форм), поэтому программа выдает исключение.

Другие вопросы по тегам