マルチスレッド用のプロシージャが定義できていない?

返信する


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

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

トピックのレビュー
   

展開ビュー トピックのレビュー: マルチスレッド用のプロシージャが定義できていない?

Re: 返信@yu0627

by toshihiro » 2006年3月21日(火) 01:57

初歩的なミスだったみたいで大変失礼しました。
迅速な回答ありがとうございます。

返信@yu0627

by yu0627 » 2006年3月20日(月) 14:10

 CreateThreadの使い方が間違っています。
 上のようにしてください。
なお、結果を確認するため「#console」を「#prompt」に書き換えさせていただきました。

マルチスレッド用のプロシージャが定義できていない?

by toshihiro » 2006年3月20日(月) 14:02

マルチスレッドを試してみようと簡単なコードを作ってみたのですが、コンパイラーからは「プロシージャが定義されていない」というエラーが返されます。

コード: 全て選択


#strict
#console

Dim dw As DWord
Dim sw As DWord
Dim hnd As HANDLE

Function Thread(i As Integer)
	Print i
	Thread = i
	sw = 1
End Function

hnd = CreateThread(ByVal NULL, 0, AddressOf(Thread(1)), NULL, 0, VarPtr(dw))
Thread(256)

Do
	Loop Until sw = 1

CloseHandle(hnd)
ちなみにスレッド用に定義したプロシージャを直接呼び出すとうまくいくのでどうしたらいいのか頭を抱えてしまいました。
WindowsXP SP2上のActiveBasic 4.22/4.23でチェックしてあります。

ページトップ