线程中删除图片的问题!
我在线程中写删除主界面上的一个图标。代码如下:
procedure GMyThread.Execute;
var
i:integer;
begin
for i:=pan[0].ControlCount-1 downto 0 do
if (pan[0].Controls[i].Left=123) and (pan[0].Controls[i].Top=118) then
(pan[0].Controls[i] as TImage).Free;
end;
pan是主界面上定义的一个全局的panel数组,想要删除pan[0]中位置是(123,118)的图标。
主界面是MainForm,我早MainForm.FormShow中调用线程就能正常删除图标;但是当我点击按钮button去调用线程删除图标时就出错了,出错的提示是Access violation at address 77F8F281 in module 'ntdll.dll'.Write of address 00000010.
到底是什么问题啊?为什么在FormShow中就不会出错呢?