我现在想实现的是,只能有一个任务可以下载,而其他的任务在等待。然后,当正在下载的任务完成后,下面排队的任务自动开始下载。可是,我现在想不出来有什么好的办法能够让程序自动完成这样的功能。
我觉得要实现这样的情况,需要时刻监听正在下载的任务有没有完成,可是什么可以不停的去监听呢?
我开始想用OnTimer(),可是这样需要要把下载文件的函数放在这里,而下载的整个过程要比Ontimer响应SetTimer()的消息的时间要长很多。这样是不是不可行?
我做的下载的情况,是点击具体的某个文件,然后点击下载。然后初始化一个下载类的对象,在用此对象的下载函数去下载。
因为同一时刻只能有一个任务在下载,而任务的结构体我定义为 taskinfo,包含了一些文件名,文件大小等属性,所以我只需要初始化一个任务,taskinfo newtask。而我负责下载的类的对象为 CDownload downloadtask;然后,调用download.DoDownload(newtask.filename)就可以下载相应的任务。
请问大家根据上面的这些东西,怎么能实现我说的这样的功能。
说的可能比较乱,请谅解,大家多多看看理解一下,我试了半天怎么也实现不了我想要的功能。
我觉得要实现这样的情况,需要时刻监听正在下载的任务有没有完成,可是什么可以不停的去监听呢?
我开始想用OnTimer(),可是这样需要要把下载文件的函数放在这里,而下载的整个过程要比Ontimer响应SetTimer()的消息的时间要长很多。这样是不是不可行?
我做的下载的情况,是点击具体的某个文件,然后点击下载。然后初始化一个下载类的对象,在用此对象的下载函数去下载。
因为同一时刻只能有一个任务在下载,而任务的结构体我定义为 taskinfo,包含了一些文件名,文件大小等属性,所以我只需要初始化一个任务,taskinfo newtask。而我负责下载的类的对象为 CDownload downloadtask;然后,调用download.DoDownload(newtask.filename)就可以下载相应的任务。
请问大家根据上面的这些东西,怎么能实现我说的这样的功能。
说的可能比较乱,请谅解,大家多多看看理解一下,我试了半天怎么也实现不了我想要的功能。
也就是 newtask.state="下载完成"。然后可以显示在进度对话框中,这些都是在dodownload的函数里实现
可以理解为多线程