多线程问题 ( 积分: 50 )

  • 主题发起人 主题发起人 dengxh10
  • 开始时间 开始时间
D

dengxh10

Unregistered / Unconfirmed
GUEST, unregistred user!
不知有那位兄弟知道在多线程执行完后返回的参数怎么样才能传给外部程序调用,还请指教!
 
不知有那位兄弟知道在多线程执行完后返回的参数怎么样才能传给外部程序调用,还请指教!
 
SendMessage
您能说具体点吗?
我也可以给具体点的回答
 
从全局变量回传呀
 
用SendMesssage,开始的时候可以把句柄先放进去,就是线程类里面放一个属性,省得到时候去FindWindow,另外最好不要用全局变量,用了就知道痛苦了
 
使用全局变量
 
我是想多线程刚执行完后外部程序立即根据多线程执行结果进行其它操作,不知还有什么好方法?
 
BOOL GetExitCodeThread(
HANDLE hThread, // handle to the thread
LPDWORD lpExitCode // address to receive termination status
);
得到的exitcode可能如下:
1. ExitThread或者TerminateThread设置的值
2.线程函数的返回值
3.所属进程的退出值
如果继承TThread实现,那么直接设置retureValue属性(protected)就好了
 
发消息比较安全可靠,而且更灵活,楼主你在上面写了什么东西
 
用全局变量的话,你需要考虑到共享资源的问题,操作起来不是那么简单,而且容易出错,采用消息是一个不错的选择!
 
用sendmessage,用整型指针,想怎么传都行
 
重载线程的OnTerminate,该过程执行时线程还没有释放,中间的状态可以直接使用.可以在主程序中写一个MyOnTerminate,然后Thread.OnTerminate := MyOnTerminate;
 
我告诉你一个好方法吧
 
后退
顶部