VBでDirectSoundの使用

このQ&Aのポイント
  • VBでDirectSoundを使いたいと思って、モジュールを追加したのですが、'・・・As DirectSoundBuffer'の部分で、ユーザ定義型は定義されていませんとエラーが出てしまいます。どうすればよいでしょうか?
  • VBでDirectSoundを使用する際に、ユーザ定義型の定義がされていないエラーが出ています。どのように対処すれば良いでしょうか?
  • VBでDirectSoundを使いたいが、'・・・As DirectSoundBuffer'の部分でエラーが発生してしまいます。解決策を教えてください。
回答を見る
  • ベストアンサー

VBでDirectSoundの使用

VBでDirectSoundを使いたいと思って、モジュールを追加したのですが、 Public Dx7 As New DirectX7 Public DSnd As DirectSound Public DMPms As DirectMusicPerformance Public DMLdr As DirectMusicLoader Type DSWAVE buf() As DirectSoundBuffer nbuf As Integer nidx As Integer End Type ・ ・ の ・・・As DirectSoundBuffer の部分で、ユーザ定義型は定義されていませんとエラーが出てしまいます。 どうすればよいでしょうか?

  • GooM
  • お礼率100% (7/7)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

[VBAの場合(VB6にも似たようなのあるはず)] [ツール]→[参照設定] DirectX 7 For Visual Basic Type Library って奴にチェック入れないとエラーがでました。 オマケ: VB 2005(.NET)向けDirectX解説 http://www.atelier-blue.com/

GooM
質問者

お礼

返信が遅くなってしまってすみません。 大変参考になりました。ありがとうございました。

関連するQ&A

  • VB4.0の「LSet」と同等の機能をVB2008で実行するには?

    VB2008の練習のために、VB4.0のコードをVB2008にコンバージョンしています。 VB4.0の「LSet」がどうしてもコンバージョンできません。 LSet 以外はVB2008で機能がありました。 なにか方法はないでしょうか。 リストをコピーします。 (投稿したらインデントが消えました) Public Type Tpstndef equip As Integer stn_no As Integer stn_class As Integer line_no As Integer stn_kind As Integer End Type Dim kdata As Tpkyokudef Dim rbuf As buf1K    ・   省略    ・ Get #fno, seeksize, rbuf LSet kdata = rbuf

  • VB6のTYPE文をVB.NETのStructureに変えるとき

    VB6のTYPE文をVB.NETのStructureに変えるとき 下記VB6のコードをVB.NETのStructureに変える場合 Type kouzou1 i As Integer j As Integer a As String * 20 b As String * 50 End Type を下記にしてみたのですが *20,*50のところは、どのように表現するのでしょうか。 Structure kouzou1 Dim i As Integer Dim j As Integer Dim a As String * 20 <- ステートメントの終わりを示してくださいのエラーになる。 Dim b As String * 50 <- ステートメントの終わりを示してくださいのエラーになる。 End Structure お教え下さい。

  • 関数の引数に複数のユーザ定義型変数を使いたい

    一つの関数の一つのパラメータが異なるユーザ定義型を受けられるようにしたいのですが、どのようにすればいいのでしょうか? Public Type TypeA strCodeA As String intNumA As Integer End Type Public Type TypeB strCodeB As String intNumB As Integer End Type Public Function funcTest(arg1 As Variant) As Integer (略) End Function と記述して関数を Dim datA As TypeA iResult = funcTest(datA) と呼び出そうとすると、次のようなエラーメッセージが表示されて進みません。 コンパイルエラー: パブリックオブジェクトモジュールで定義されたユーザー定義型に限り、変数に割り当てることができ、実行時バインディングの関数に渡すことができます。

  • 「VB4.0の「LSet」と同等の機能をVB2008で実行するには?」のリストを修正します

    「VB4.0の「LSet」と同等の機能をVB2008で実行するには?」の質問で リストに間違いがあったので訂正します。 Public Type TpstndefをPublic Type Tpkyokudef VB2008の練習のために、VB4.0のコードをVB2008にコンバージョンしています。 VB4.0の「LSet」がどうしてもコンバージョンできません。 LSet 以外はVB2008で機能がありました。 なにか方法はないでしょうか。 リストをコピーします。 Public Type Tpkyokudef equip As Integer stn_no As Integer stn_class As Integer line_no As Integer stn_kind As Integer End Type Dim kdata As Tpkyokudef Dim rbuf As buf1K    ・   省略    ・ Get #fno, seeksize, rbuf LSet kdata = rbuf

  • VB6.0 →VB2005 のアップグレードでエラー表示

    VB6.0の標準モジュールでは Private Type typset a As String b As String c As Integer End Type Public make() As typset と記述してエラーもなく正常なのですが、VB2005にアップグレードしたときに、 Option Strict Off Option Explicit On Module Module1 Private Structure typset Dim a As String Dim b As String Dim c As Integer End Structure Public make() As typset←▼エラー▼            End Module 【エラー内容】 'make' は、module 'Module1' をとおして型 'typset' を namespace 'WindowsApplication1' で公開することはできません。 structure部をPublicなどにしてもエラーは消えますが、参照先に影響が出てしまいます。 根本的な解決方法が分かりません。 教えていただけないでしょうか?

  • vb2005 インスタンスの生成について

    vb2005で質問です Data.vbというグローバル変数を宣言しているモジュールファイルに以下の記述をします。   public x As SortedList(Of Integer, Integer)() = New SortedList(Of Integer, Integer)(1) {} 次にForm1.frmというファイルに、あるイベントのたび、呼び出される処理の中に 以下の記述をします。  x(0) = New SortedList(Of Integer,Integer)  x(1) = New SortedList(Of Integer,Integer) この場合、何度も x(0) = New SortedList(Of Integer,Integer) が 生成されることになりますが、メモリエラーを引き起こす原因に なりえますか すいませんが、教えていただけないでしょうか

  • VB6の変数宣言で、末尾に"*"と数値がつく構文の意味

    社内で開発された既存のVB6プロジェクトのソースコードを解析しています。 その中で、標準モジュール内に以下のような構文がありました。 '----------- Public Type BufData KaiinID As String * 4 MiseCode As String * 8 (以下省略) End Type '----------- ユーザ定義型の要素を宣言している記述ですが、 それぞれ末尾の「* 4」や「* 8」は何をしているのでしょうか? "ユーザー定義型 アスタリスク"などで検索しましたが、 これといった情報を見つけられませんでした。 (質問者はjavaのコーディング経験は1年ほどあるんですが、VBはまだ数日です。) よろしくお願いします。

  • VBのReturnの使い方

    Excel2007のVBで以下のfunctionを定義すると、Returnのところでコンパイルエラーになります。 -------------------------------------- Public Function IsTen(lNumber As Integer) As Boolean If lNumber = 10 Then Return True Else Return False End If End Function -------------------------------------- ググってみるとReturn True とか Return False とかができるように思えるのですが、何が不味いのでしょうか? VBの知識はあまりなく、低レベルな質問かもしれませんが、よろしくお願いします。

  • 構造体配列

    こんにちわ。VB.NET初心者です。伝授お願いします。 VB6では Type Tpn_Index IdxSu As Integer idx(MAXTPN-1) As Integer End Type と定義できますが、VB.netでは構造体の中の配列部分が定義できません。 どのように書けばよろしいでしょうか? Public Structure Tpn_Index Dim IdxSu As Integer Dim idx() As Integer End Structure 上記の Dim idx() As Integer の部分です 宜しくお願いします

  • VB6で構造体(ユーザー定義型)の比較でエラーになります。

    VB6で構造体(ユーザー定義型)の比較でエラーになります。 仕様でしょうか? type TEST_STRUC x as integer y(0 to 10) as byte end type a as TEST_STRUC b as TEST_STRUC a.x = 1 b.x = 1 if a = b then    <--- ここでエラー msgbox("同じ") end if 強引でも比較できる方法があれば知りたいです。 項目ごとに比較するしかないのでしょうか if a.x = b.x then のように、長々と記述するのが間違えそうで・・・ 簡単に比較できると、楽です。

専門家に質問してみよう