【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (435レス)
前次1-
抽出解除 レス栞

113: 2017/03/12(日)18:17:37.48 ID:a1qa7agM(2/5) AAS
'外部リンク[cgi]:park7.wakwak.com
にあったMIDI利用 BEEP は何とか成功した。

Dim lngmidHndVal As HMIDIOUT__
Dim lngmidHndPtr As HMIDIOUT
Dim lngmidHndPtrPtr As LPHMIDIOUT
で宣言して、
'declare function midiOutOpen(byval phmo as LPHMIDIOUT, byval uDeviceID as UINT, byval dwCallback as DWORD_PTR, byval dwInstance as DWORD_PTR, byval fdwOpen as DWORD) as MMRESULT
MSerrorCodeMM = midiOutOpen(@lngmidHndPtr, MIDI_MAPPER, 0, 0, CALLBACK_NULL)
If (MSerrorCodeMM = MMSYSERR_NOERROR) Then BeepMidiOut (lngmidHndPtr, MdiMsg)
Sleep mTime
midiOutClose (lngmidHndPtr)
とならす。

Private Function BeepMidiOut(lngmidHndPtr As HMIDIOUT, DataString As String) As Wata
Dim MLMsg() As Byte
Dim As Long IAA, IBB
Dim lpMidiOutHdr As MIDIHDR
と、宣言して、
ReDim MLMsg(0& To Len(DataString) \ 2& - 1&)
For IAA = 1& To Len(DataString) Step 2&
MLMsg((IAA - 1&) \ 2&) = Val("&H" & Mid(DataString, IAA, 2&))
Next
lpMidiOutHdr.lpData = VarPtr(MLMsg(0))
lpMidiOutHdr.dwBufferLength = UBound(MLMsg) + 1&
lpMidiOutHdr.dwFlags = 0&
'declare function midiOutPrepareHeader(byval hmo as HMIDIOUT, byval pmh as LPMIDIHDR, byval cbmh as UINT) as MMRESULT
MSerrorCodeMM = midiOutPrepareHeader (lngmidHndPtr, @lpMidiOutHdr, Len(lpMidiOutHdr))
'declare function midiOutLongMsg(byval hmo as HMIDIOUT, byval pmh as LPMIDIHDR, byval cbmh as UINT) as MMRESULT
MSerrorCodeMM = midiOutLongMsg (lngmidHndPtr, @lpMidiOutHdr, Len(lpMidiOutHdr))
と鳴らす。
196: 2017/10/09(月)12:35:42.48 ID:OFonel0E(2/2) AAS
配列の初期化
外部リンク[html]:makoto-watanabe.main.jp
で、
Redim は、固定サイズの配列では使えません - つまり、範囲固定の配列には Dim を使います。
と書かれている。「使えない」ということで、何かしらのエラーが発生する物と思っていた。

大域変数で
Dim Shared TakaCommFile(TakaTakaFigLSU To 0) As String
Dim Shared TakaCommFileFig(TakaTakaFigLSU To 0) As Long
と領域を確保して、別モジュール(ファイル)にある
PunchFileAutoData(TakaCommFileFig(), TakaCommFile())
と、値を定義するルーチンを呼び出し
ReDim iTakaCommFile(TakaTakaFigLSU To 0) As String
ReDim iTakaCommFileFig(TakaTakaFigLSU To 0) As Long
と、値を初期化して使用するつものが
値が定義されない。Redim文を除いたらば定義された。
動的配列と静的配列の違いを子ルーチン側で判断する必要がある。
あるいは、静的配列を廃止して動的配列のみに統一するとか、
いずれにしても、配列の引数関係を追跡する必要が出てくる。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.669s*