我正在尝试创建一个必须使用位图的组件,当我去选择属性上的图像时遇到问题。
以下是代码摘录:
财产申报
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(使用前将#替换为@)