ID:Array[1..10] of DWORD;
TArray:array[1..10] of THandle;While TArray[i]<>0 Do
Begin
SpeedButton1.Caption:=' ';
MainHwd:=TArray[i];
BeginThread(nil,0,@Startstd,nil,0,ID[i]);
i:=i+1;
End;Procedue Startstd();Stdcall;保存在另一个单元,需用到当前窗体的全局变量MainHwd,StartHwd内部使用局部变量Hwd接收MainHwd,内部仅使用和处理MainHwd。TArray数组中保存的是窗口句柄,实际中有两个非0的句柄,即要创建两个线程,为什么会只有最后一个匹配的窗口句柄(这里是TArray[2])有对应的线程?上面的代码在一个按钮点击事件中,当分开放在两个按钮单击事件中时又能正确执行.另外,本来写的Procedure为,Procedure Start(Hwd:THandle);Stdcall;但我不知道如何将Tarray[i]中的值传递过去。
试了下BeginThread(nil,0,@Startstd,@TArray[i],0,ID[i]);没反应。函数是对的,分开执行没有任何问题。新手,望指条明路。
TArray:array[1..10] of THandle;While TArray[i]<>0 Do
Begin
SpeedButton1.Caption:=' ';
MainHwd:=TArray[i];
BeginThread(nil,0,@Startstd,nil,0,ID[i]);
i:=i+1;
End;Procedue Startstd();Stdcall;保存在另一个单元,需用到当前窗体的全局变量MainHwd,StartHwd内部使用局部变量Hwd接收MainHwd,内部仅使用和处理MainHwd。TArray数组中保存的是窗口句柄,实际中有两个非0的句柄,即要创建两个线程,为什么会只有最后一个匹配的窗口句柄(这里是TArray[2])有对应的线程?上面的代码在一个按钮点击事件中,当分开放在两个按钮单击事件中时又能正确执行.另外,本来写的Procedure为,Procedure Start(Hwd:THandle);Stdcall;但我不知道如何将Tarray[i]中的值传递过去。
试了下BeginThread(nil,0,@Startstd,@TArray[i],0,ID[i]);没反应。函数是对的,分开执行没有任何问题。新手,望指条明路。
解决方案 »
- 怎样在Delphi里增加或修改一个快捷键,用来插入当前日期时间?
- 请问哪位知道GDI+ 怎样设置文本的行距?
- 求DELPHI中显示类层次结构的IDE增强工具!
- 如何是Edit输入的数字右对齐?
- 大家知道在VC中打::就能弹出全局函数和全局变量的代码辅助框,那么我想在DELPHI中想要看看它都支持哪些全局API和变量,怎么看
- 一个很急的问题,关于提交数据的问题!
- SQL,高手求救!!!!!
- 因为数据库正在使用,所以未能获得对数据库的排它访问权。
- sigh,我现在连Query都不会用了:(, 请教各位网友,帮帮忙。 急,第一次在线等待!
- 如何定义一个动态的二维数组?
- delphi 设计网吧的远程监控怎么做
- 如果没有dll文件,如何避免报错?
线程的入口函数是一个函数而不是一个过程