D
desertsmoke
Unregistered / Unconfirmed
GUEST, unregistred user!
在写控件时遇到一个SetParent的问题!让两个对象以第三个对象为父对象。
代码如下:
——————————————————————————————————————————————————————————————
procedure TNewRoundLed.SetParent(Aparent:TWinControl);
begin
inherited Setparent(Aparent);
if NRoundLed <> nil then
begin
NRoundLed.Parent := AParent;
NRoundLed.Visible := True;
end;
if ShowLabel <> nil then
begin
ShowLabel.Parent := AParent;
ShowLabel.Visible := True;
end;
end;
————————————————————————————————————————————————————————————————
当把控件放到窗体上,然后关闭工程时提示下面的错误。
---------------------------
Error
---------------------------
Access violation at address 00000000. Read of address 00000000.
---------------------------
OK
---------------------------
确定,然后关闭Delphi,则提示下面的错误,Delphi就无法正常关闭了(只能从任务管理器中
结束任务了)!
---------------------------
Error
---------------------------
Access violation at address 4001D0A2 in module 'rtl60.bpl'. Read of address 00000001.
---------------------------
OK
---------------------------
************************************************************************************
问题的原因已经确定,就是SetParent的原因(因为我屏闭掉所有其他代码不能解决问题,屏蔽
掉SetParent后就一切OK了!)。而在另外一个控件中用法完全相同却没有这个问题,不知道是
哪里又产生了冲突?希望各位大虾不吝赐教!
代码如下:
——————————————————————————————————————————————————————————————
procedure TNewRoundLed.SetParent(Aparent:TWinControl);
begin
inherited Setparent(Aparent);
if NRoundLed <> nil then
begin
NRoundLed.Parent := AParent;
NRoundLed.Visible := True;
end;
if ShowLabel <> nil then
begin
ShowLabel.Parent := AParent;
ShowLabel.Visible := True;
end;
end;
————————————————————————————————————————————————————————————————
当把控件放到窗体上,然后关闭工程时提示下面的错误。
---------------------------
Error
---------------------------
Access violation at address 00000000. Read of address 00000000.
---------------------------
OK
---------------------------
确定,然后关闭Delphi,则提示下面的错误,Delphi就无法正常关闭了(只能从任务管理器中
结束任务了)!
---------------------------
Error
---------------------------
Access violation at address 4001D0A2 in module 'rtl60.bpl'. Read of address 00000001.
---------------------------
OK
---------------------------
************************************************************************************
问题的原因已经确定,就是SetParent的原因(因为我屏闭掉所有其他代码不能解决问题,屏蔽
掉SetParent后就一切OK了!)。而在另外一个控件中用法完全相同却没有这个问题,不知道是
哪里又产生了冲突?希望各位大虾不吝赐教!