SUBに配列を引き渡したいが、これだと動かない???

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: SUBに配列を引き渡したいが、これだと動かない???

有難うございました、参考のソースをコンパイルして動作して見ま

by iwao » 2005年6月04日(土) 21:41

配列の宣言も了解しました、ByValという意味は、まだ解りませんが、使用して行き、見ていきたいと思います。
2番目のbufferラベルは直してコンパイルし成功しました。
ポインター操作は苦手ですが簡単に使えれば良いなと思います。
マニヤルは全て読んで見ましたが、Win32プログラミング講座のStep15ぐらいから難しくなってきました。

by tak » 2005年6月04日(土) 21:19

投稿時に混乱しているようですね。こちらにのみ返信します。
あと、質問の趣旨を本文中にも書いてもらえればたすかります。


まず、本題ではないのですが、変数を宣言しましょう。
これは大前提です。これをしなければコンパイルすら通りません。

引数の部分を少し書き換えます。ポインタの宣言のときは型名の頭に*を付加します。変数名の頭ではありません。
引数は参照渡し(ByRef)ではなく値渡し(ByVal)にします。

コード: 全て選択

Sub test(ByVal k As *Long)
	Dim buffer As String
	buffer = Str$(k[0])
	MessageBox(0, buffer, "表示テスト", 0)
	buf = Str$(k[1])
	MessageBox(0, buffer, "表示テスト", 0)
End Sub

SUBに配列を引き渡したいが、これだと動かない???

by iwao » 2005年6月04日(土) 20:50

Sub test(ByRef *k As Long)
buffer=Str$(k[0])
MessageBox(0,buffer,"表示テスト",MB_OK)
buffer=Str$(k[1])
MessageBox(0,buffer,"表示テスト",MB_OK)
End Sub

dim k00[2] As Long
k00[0]=1111
k00[1]=2222
test(k00)

ページトップ