使用 TColorListBox 更改矩形的颜色

Change color from a Rectangle using a TColorListBox

我又来了。 我只是想了解如何使用 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 [=13=]405615. Exception class $C0000005 with message 'access violation at 0x00405615: read of address 0x00000360'. Process Ninterpres.exe (904)

有人可以帮助我吗?从现在开始,非常感谢!

你第一次写

ColorListBox1

第二次您使用的名称不带“1”

ColorListBox->Color;

但看起来您还没有初始化某些对象(我记得这应该由表单编辑器自动完成)因此程序抛出异常。

我找到问题了... 访问冲突代码是因为多个指针具有相同的名称。 在这种情况下,我使用 Rectangle1(实际上称为 Transp,我将名称更改为放在此处以便于理解)作为 int var 和对象... 感谢 XD 的解答。