不知道为什么,这个语句没执行。大家过来看看。

likespring 2004-07-05 02:29:55
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
command:string;
begin
command:=Athread.connection.readln; //读入命令
if command='NO' then
begin
Listbox1.Items.add('string'); //这句已经执行
mediaplayer1.play(); //这个语句不执行
end;

end;

如果把mediaplayer1.play(); 放在另一个事件中就可以了。
procedure TForm1.Button4Click(Sender: TObject);
begin
mediaplayer1.play(); //完全可以播放音乐
end;

大家说说是什么原因。
...全文
124 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wensusy 2004-07-05
  • 打赏
  • 举报
回复
这个语句其实应该执行了,只是语句执行太快,程序运行时感觉没有播放,如果你用单步执行就可以听到播放的内容。在Button4Click中能够执行是因为在你没停止时,play一直在执行中,所以没问题。关键要看你用play来干什么?如果你想播放完你需要播放的东西再执行下一个语句,我建议你采用windows自带的playsound函数,这个函数可以实现同步、异步等方式的播放,你只需在uses中加入 mmsystem即可,具体函数原型可在 mmsystem中可以找到。
sherry3000 2004-07-05
  • 打赏
  • 举报
回复
你用单步调试,看是否运行过那条语句。

帮你UP!
likespring 2004-07-05
  • 打赏
  • 举报
回复
应该是没有效果吧。

jacket008(§优国优民§) ,这样在运行中会提示错误。

'canvas does allow drawing'
jacket008 2004-07-05
  • 打赏
  • 举报
回复
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
command:string;
begin
command:=Athread.connection.readln; //读入命令
if command='NO' then
begin
Listbox1.Items.add('string'); //这句已经执行
mediaplayer1.play(); //这个语句不执行
showmessage('asfdasfd');//如果这句执行,那么上面一句也执行,

end;

end;
liunini 2004-07-05
  • 打赏
  • 举报
回复
是那条语句没有执行 还是执行了但是没有效果
likespring 2004-07-05
  • 打赏
  • 举报
回复
问题是怎么在button4的事件上就能发出声音,而在IdTCPServer1Execute就没有声音呢?中间没更改过mediaplayer的属性,都是在object inspector里设好的。
likespring 2004-07-05
  • 打赏
  • 举报
回复
pl5th2001(白牙),你的方法已经试过了,还是不行。

flydreams() ,我都是mediaplayer的属性设为true的。
pl5th2001 2004-07-05
  • 打赏
  • 举报
回复
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
command:string;
begin
command:=Athread.connection.readln; //读入命令
if command='NO' then
begin
Listbox1.Items.add('string'); //这句已经执行
//mediaplayer1.play(); //这个语句不执行
//你这样看看:
Button4.onclick(self);
end;

end;

procedure TForm1.Button4Click(Sender: TObject);
begin
mediaplayer1.play(); //完全可以播放音乐
end;
flydreams 2004-07-05
  • 打赏
  • 举报
回复
不执行应该是不可能的吧,会不会是你的IdTCPServer1Execute触发前,mediaplayer1还没有OPEN
而Button4Click触发的时候,mediaplayer1已经OPEN?
Sunniness 2004-07-05
  • 打赏
  • 举报
回复
按道理应该会执行!
pl5th2001 2004-07-05
  • 打赏
  • 举报
回复
你用F7调试一下看看
likespring 2004-07-05
  • 打赏
  • 举报
回复
难道就没有高手告诉我一下。还是不愿意回答这种问题。
likespring 2004-07-05
  • 打赏
  • 举报
回复
分可以加的。请看看到底是什么原因。
maxtool 2004-07-05
  • 打赏
  • 举报
回复
帮up
likespring 2004-07-05
  • 打赏
  • 举报
回复
不明白的题意的,请发问。这个下午在线等待中。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧