Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
簡単なMP3プレーヤーを作っています
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9376#CommentId13023
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
neptune
 (社会人)
投稿日時
2009/10/8 02:50:34
>で宣言してありましたが、これでも大丈夫でしょうか?
KEN さんの宣言はどこを参考にしたのか知りませんが、VB6のものです。
VB2008では大丈夫じゃないからAPI宣言を書いている所のアドレスを紹介しました。
説明するのは大変なので情報を貼り付けておきます。
C言語でのmciSendStringの定義
MCIERROR mciSendString(
LPCTSTR lpszCommand, // コマンド文字列
LPTSTR lpszReturnString, // 情報を受け取るバッファ
UINT cchReturn, // バッファのサイズ
HANDLE hwndCallback // コールバックウィンドウのハンドル
);
「C 言語の一般的なデータ型とそれに対応する Visual Basic のデータ型の一覧」
http://winofsql.jp/VA003334/Cprog011103012328.htm
先のAPI宣言のリンク先の内容。
Declare Ansi Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal command As String, ByRef buffer As StringBuilder, _
ByVal bufferSize As Integer, ByVal hWndCallback As IntPtr) As Integer
整数型 (Integer) (Visual Basic 6.0 ユーザー向け)
http://msdn.microsoft.com/ja-jp/library/7f5ztkz3.aspx
VB6のLongは32 ビット、符号付き
VB2008のLongは64 ビット、符号付き
です。
サイズが違うんです。これは重大な問題で、偶然エラーにならなかったのかも。
VB6のLongはVB2008ではIntegerに該当します。
hWndCallback はコールバックウィンドウのハンドルですからVB2008ではIntPtrに該当します。
私は大昔ここを参考にしました。・・・忘れましたけど。^ ^;
「マルチメディア自由自在! 高レベルMCIを使う 」
ゆっくり読んで下さい。