TForm1 = class(TForm)
....
private
  TimerSys: TTimer;
  MyList: TStringList;
  procedure WMSetMyList(var Message: TMessage); message WM_SET_LIST;
....
end;Form1中具体程序说明如下:
1、在Form1创建时,创建TimerSys定时器和MyList.2、定时器每隔若干秒即遍历MyList中的各item项,分解其中的值,进行具体处理。3、当其他程序发送WM_SET_LIST到Form1时,在WMSetMyList中对MyList增加若干item项。我的问题是:
一、在定时器事件中,比如说我用了
for I := 0 to MyList.Count - 1 do
  .......是否会发生这样的情况:
当I正循环到某个小于MyList.Count的中间值时,Form1收到了WM_SET_LIST消息,并执行处理过程,这时MyList.Count是否会改变?就是说I比预计的要多循环几次。二、如果我在定时器中对MyList进行删除操作,是否有可能与WMSetMyList中的增加操作发生冲突?