为我的组件位图属性赋值时发生访问冲突[关闭]

2024-03-26

我正在尝试创建一个必须使用位图的组件,当我去选择属性上的图像时遇到问题。

以下是代码摘录: 财产申报

Property StarOff: TBitmap read FStarOff write SetStarOff;

函数设置开始关闭

procedure TNotas.SetStarOff(const Value: TBitmap);
begin
FStarOff.Assign(Value);
end;

但是,当我为该属性分配值时,出现错误:

模块“TNte.bpl”中地址 1BC324B8 处发生访问冲突。读取地址000000000

为什么会发生这种情况?


您的 setter 方法看起来是正确的,但您遇到了访问冲突,因为您的 FStarOff 成员目前为零。

通常是在构造时创建它并在销毁时释放它。

constructor TMyComponent.Create(AOwner: TComponent);
begin
  inherited;
  FStarOff := TBitmap.Create;
end;

destructor TMyComponent.Destroy;
begin
  FStarOff.Free;
  inherited;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为我的组件位图属性赋值时发生访问冲突[关闭] 的相关文章

随机推荐