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中的增加操作发生冲突?
....
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中的增加操作发生冲突?
解决方案 »
- 小问题,关于控件的名称!140分,马上结帖~!
- 我使用dxBarManager时出现的怪现象
- 请教一条SELECT语句!!!
- 五子棋的人工智能==欢迎讨论
- 怎么给 ToolBar2000 的 TBEditItem 加 OnDblClick 事件啊??
- 关于ClientSocket和ServerSocket的简单问题
- 谁知道哪有免费的Delphi7.0电子书下载啊!介绍几个来啊!谢谢了!
- 不能用google了,用用这个台湾的自称比google厉害两倍的东东吧!
- 在dbgrid或stringgrid里怎么实现这个功能?
- 在哪可以找到GB18030字符集部首查询的电子版?否则谁知道某个字编码是什么,再用区位码输入
- 谁能告诉我:TClass = class of TObject;是什么意思?
- 怎样清除combobox下的所有内容?
2。我猜不会。呵呵
我希望有人能否告诉我delphi在这方面有没有一套完善的理论?
好像有个什么说法:VCL是线程安全的。
此话何解?java语言直接提供了 synchronized修饰语,这样可以很方便的进行各种需要同步的操作。
但是delphi只在thread内提供了一个synchronize方法,用起来不是很方便。