WindowsNT対応

夢の女神戦、WindowsNTで動かない・・なぜ?

起動時に型エラーでいきなり落ちます。 WindowsNT持っていなかったので全然分かりませんでした。
持っている方に試してもらったり(ありがとうございました) 実際に買って私の所で動かしたりしているうちに何となく分かってきました。

Windows.APIでこけています

型エラーを出すのは全てWindows.APIでした。

戻り値がLongである場合、Windows95では戻り値はIntegerでも受けれてしまいます。 本当は駄目なはずなんですが、動いてしまうんです。 WindowsNTでは型エラーで落ちます。
この戻り値のミスがあった為に、 Windows95では動くがWindowsNTでは動かないと言うものが出来てしまった訳です。

例をあげると・・
Declare Function GetDesktopWindow Lib "user32.dll" () As Long



Dim hWndDeskTop As Integer
hWndDeskTop = GetDesktopWindow()

これで落ちます。Longの戻り値をIntegerで受けていますね。

正しくは
Dim hWndDeskTop As Long
です。


音楽演奏 mciSendStringの仕様が違うみたい。

mciSendStringで、演奏開始を曲先頭に持ってくる場合、
Ret = mciSendString("play midifile from 0", "", 0, 0)

・・こんな感じでやっていたのですが、 これをやるとWindowsNTでは正しい曲先頭にセットできないみたいです。

ですから、一旦閉じて、開き直しましょう。