我的程序里头有8个按钮,每个按钮启动一个子线程(8个子线程所处理工作的流程是一样的),在启动按钮对应的子线程之前,需要先退出其他在运行的子线程。
我在每个子线程函数的开头有dc:=getwindowdc(0);结尾有releasedc(0,dc);其中dc:hdc为全局变量。如果我让子线程自然结束的话,那么没什么问题。现在我的问题是:由于我经常需要中途停止一个子线程来运行另外一个子线程,由于“releasedc(0,dc);”这一句在线程函数的结尾部分(因为之前经常用到getpixel(dc,x,y)所以只能放在最后。),所以dc没有得到释放,这样,中途停止一次,占用的内存就增加一些,最终经常出错。我曾想在每个button的最开头加一句releasedc(0,dc);不过好像这个不管用。不知道是不是releasedc只能作用于一个线程内的hdc?初学编程,大家有没有什么好的解决方法,帮我出出注意!!