ab.com コミュニティ
https://www.activebasic.com/forum/

DllMain()内でグローバル変数が無効な識別子になる
https://www.activebasic.com/forum/viewtopic.php?t=1514
ページ 11

作成者:  OverTaker [ 2006年9月04日(月) 20:22 ]
記事の件名:  DllMain()内でグローバル変数が無効な識別子になる

プロジェクトでDLLを作成したとき、DllMain()内でグローバル変数を記述すると、無効な識別子にされてしまいます。
ActiveBasic5.0β4です。
コード:
'-------------------------------------------------------------------
' メモ - このファイルには、DLLの構成要素を記述します。
'        (例:関数定義、グローバル変数、定数定義など)
'
'        エクスポートが必要な関数には、"Export" 修飾子を指定します。
'        (例:Function Export FuncName() As Long)
'-------------------------------------------------------------------
Dim Global As Long

Function Export DllMain(hinstDLL As HINSTANCE, fdwReason As DWord, lpvReserved As VoidPtr) As Long
	'DLLエントリポイント
	Select Case fdwReason
		Case DLL_PROCESS_ATTACH
			'DLLがプロセス空間にロードされた時に実行されます。
			_System_StartupProgram()
			Global = Global    'ここで警告が出る
			DllMain=1
		Case DLL_PROCESS_DETACH
			_System_Call_Destructor_of_GlobalObject()
	End Select
End Function

作成者:  konisi [ 2006年9月04日(月) 20:29 ]
記事の件名: 

解決にはならない話をしますが、β4は一般公開されていないはずなので、ライブラリ開発板で報告した方がいいのでは?

作成者:  OverTaker [ 2006年9月04日(月) 20:40 ]
記事の件名: 

引用:
解決にはならない話をしますが、β4は一般公開されていないはずなので、ライブラリ開発板で報告した方がいいのでは?
どうでしょうか。私はライブラリ開発にバグ報告の話題が入ると邪魔かなっと思ったのですが...あとは、別にここでも問題ないと思いました。
まあ、人それぞれ考え方がありますから、ここは山本さんに決めてもらいましょう。(決めてもらうようなものでもない気もしますが...)

作成者:  山本 [ 2006年9月04日(月) 22:37 ]
記事の件名: 

引用:
プロジェクトでDLLを作成したとき、DllMain()内でグローバル変数を記述すると、無効な識別子にされてしまいます。
ActiveBasic5.0β4です。
ご報告ありがとうございます。次回のバージョンアップで修正しようと思います。
引用:
解決にはならない話をしますが、β4は一般公開されていないはずなので、ライブラリ開発板で報告した方がいいのでは?
そうですね。こちらは一般の方も見られる場所ですので、開発者向けのβ版に関してはクローズドなライブラリ開発フォーラムでご報告いただけると助かります。
予め、私のほうでこのような指定を取り決めていなかっただけのことですので、あまり気になさらないでくださいね。>OverTakerさん

作成者:  OverTaker [ 2006年9月04日(月) 23:00 ]
記事の件名: 

引用:
そうですね。こちらは一般の方も見られる場所ですので、開発者向けのβ版に関してはクローズドなライブラリ開発フォーラムでご報告いただけると助かります。
予め、私のほうでこのような指定を取り決めていなかっただけのことですので、あまり気になさらないでくださいね。>OverTakerさん
いえいえ、そんなことありません。今度からはライブラリ開発のほうで報告するようにします。素早い対応ありがとうございます。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/