ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 18:39

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 
作成者 メッセージ
 記事の件名: ab5cp5でのCreateThread
投稿記事Posted: 2008年9月02日(火) 05:49 
CreateThread(0,0,AddressOf(Func),0,0,VarPtr(lpThread))
直接AddressOfを入れると
要求されている関数ポインタのパラメータまたは戻り値が一致しません。
などと言うエラーメッセージが出ます

一度変数に入れると良いみたいですが
Dim pFunc As DWord
pFunc = AddressOf(Func)
CreateThread(0,0,pFunc,0,0,VarPtr(lpThread))


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2008年9月02日(火) 13:38 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
Funcはどうなっているでしょうか?
Function Func(x As VoidPtr) As DWordなどという形になっていれば,CreateThread内で直接AddressOfしても問題ありません。

逆に,そうでないものはそのあたりの確認が厳密になったため指摘の通りのエラーになってしまいます。その場合は一旦変数に格納するのが現状てっとり早い回避策になるようです。なお,64ビット対応のためにpFuncの型はVoidPtrにするのがお勧めです。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[10人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean