|
▼SAU さん:
こんにちは
気になったので少し調べました。
>やりたいことは、dll(VB)を使って処理を行い、その処理の終了を待って、
>次の処理をしたいのですが、うまくできません。
>(処理の終了は、WindowProcのパラメータの値をチッェクすることで認識できます)
確認ですが、Access内のFormにSendMessageでlpalamでTrueを送っているんですか?
音声関係は全く知らないのですが、ActiveX Dllの方で、
>ボタンを押したら、指定したデータの音を再生し、再生が終わったら次のデータの音を
>再生する...という処理を作成したいのです。(テキスト合成音です)
>WndProc()で終了を監視しないと、再生が終わらないうちに次の音声を再生してしまい、マズイのです。
の処理をした方が何かと安全と思いますが。
・再生したい音の配列を渡すとか。
・せめて、ActiveX DLLでFormをサブクラス化するとか
(現在のソースがあるからVBなら楽チンと思います。)
【参考】
[ACC2000] マウスのホイールでフォームのレコードをスクロールできないようにする方法
h tp://support.microsoft.com/kb/278379/ja
「詳細」を読んでみて下さい。一部抜粋すると
////////////////以下引用////////////////////
Microsoft Office Visual Basic Editor 読み込み後の、ウィンドウのサブクラス化には
問題があるため、マイクロソフトは、Microsoft Visual Basic または Microsoft Visual C++
を使用して ActiveX DLL を作成し、Microsoft Access アプリケーションから DLL を参照する方法
を強く推奨します。
///////////////////////引用終わり/////////////
とされており、現在の方法は問題の有るやり方を取っていると思われます。
ちなみに、Access97からの問題で、2007は知りませんが、その前のバージョンまでは同じと
考えた方がよろしいかと思います。
|
|