引用:
> N88モードでは、そもそも正攻法では出来なかったのですね。
> さて、サンプルプログラムを色々と自分なりに(使い方を)理解しようと
> 試してみました。
AB2.Xの頃はMCISound命令というのが実装されていまして
こいつを使ってMCIを操作していたんですが、AB3.X系からは実装されていません。
引用:
> 「思った通りの動作をした」・・・と思いきや、暫く実行していると、強制終了してしまいました。
> その後も、MICデバイスを開くタイミングだとかMICデバイスを閉じるタイミングなど変更して試しています。
>
> それでも、未だに正常に動作しないのですが、(Device1がループ再生しているかと思いきや4~5回再生すると終了してしまったり・・・)
> 私の実装方法に問題があると思いますので、もうちょっと頑張ってみます。
> (自作簡易サンプルだとうまく動作するのに、それと同様に組み込んでるんですけどね・・)
何が問題なのかもう少し具体的な情報がないと判断できません。
OSは?
ABのバージョンは?
プログラムの流れは?
何が問題なのか整理をつけながらデバックするとよいでしょう。
私が良く使う手はプログラムの同一機能の部分を「'」コメントアウトして
プログラムの全体に問題点がないかを探しておき、
今度は細かな部分を徐々に確認していきます。
今回のサンプルで言えば、
1.まずはMCIに関するAPI関連部分を全てコメントアウトして
MCIの再生部分以外に問題がないことを確認します。
2.続いてMCIデバイスを開く部分と閉じる部分のコメントアウトを外し
確実に開かれたデバイスが閉じられているかを確認します。
3.最後にその他の機能を少しずつ回復させながらデバックを行います。
全体を通していえますが、コメントアウトを外しながらその部分を記述を
確認しましょう。引数を間違えるとか大ポカをやらかしていることも多々あります。
あとはGetLastError関数とmciGetErrorString関数を使うのも手ですね。
コイツを使うとエラーの詳細情報を得られます。