如何中断一个函数的调用?(50分)

  • 主题发起人 主题发起人 临火
  • 开始时间 开始时间

临火

Unregistered / Unconfirmed
GUEST, unregistred user!
如何中断一个函数的调用?
例如,调用函数playsound播放一首歌曲,它将执行3分钟。
>button1.onclick();
>begin
>...
>playsound('music',nil,snd_filename); //这句将运行3分钟,类似的语句
>...
>end;
现在想在播放了1分钟后,通过单击按钮就中断它,怎么做呢?
>button2.onclick();
>begin
>... //怎么写呢?
>end;
 
第一、如果第一个按钮需要3分钟,第二个按钮是不可能按下去的。
第二、结果只能用线程解决。
 
我的机器上没声卡,不能帮你调程序,抱歉[:)]
 
用这种办法,
PlaySound(pchar(资源名称),hInstance,SND_RESOURCE or SND_ASYNC or SND_LOOP);
//上面进行异步播放
PlaySound(nil,hInstance,0);
//终止就用这个办法
 
用一个Timer定时3分钟运行我下面的这个函数就OK了
 
在button1的click中加上一句application.progressmessage.
就可点击button2了,然后在处理吧,希望对你有用
 
procedure TForm1.Button1Click(Sender: TObject);
begin
playsound(pchar('D:/tmp/hello.wav'),0,SND_ASYNC or SND_FILENAME);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
playsound(0,0,0);
end;
 
多人接受答案了。
 
后退
顶部