如符合退出条件直接调用
okclick(nil)
就行了

解决方案 »

  1.   

    var bb :Bolean = False;procedure asd;
    var ii :Integer;
    begin
      //一个死循环
      while not bb do
      begin
        Application.ProcessMessages;
        //但是有个问题,假如下面播放的时间长的话,就没有效果了,到底该怎么做呢?
        sndPlaySound(pChar(sSoundFile),SND_ASYNC); 
      end;
    end;prcedure OkClick(Sender :TObject);
    begin
      bb := True;
    end;
      

  2.   

    为什么用sndPlaySound(pChar(sSoundFile),SND_LOOP)不能播放*.WAV呢?
      

  3.   

    procedure asd;
    begin
        sndPlaySound(pChar(sSoundFile),SND_ASYNC or SND_LOOP); 
    end;prcedure OkClick(Sender :TObject);
    begin
        sndPlaySound(nil, 0); 
    end;