「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@192) [低] [解決]
@192■ (#532) DLLの関数の宣言で、戻り値の型に「void *」を指定できない - LSI (2009-02-22 18:51) /低 未処理
【症状】DLLの関数の宣言で、戻り値の型に「void *」を指定できません。
【再現方法】
#ここから
●GetProcAddress({整数}hModule,{整数}lpProcName)=DLL(「kernel32.dll」,「void *GetProcAddress(HMODULE hModule, LPCSTR lpProcName);」)
#ここまで

【要望】上記のような書き方でも指定できるようにお願いします。
【バージョン】ver.1.517
【その他】
下記のような書き方なら問題ありません。

#ここから
●GetProcAddress({整数}hModule,{整数}lpProcName)=DLL(「kernel32.dll」,「void* GetProcAddress(HMODULE hModule, LPCSTR lpProcName);」)
#ここまで

#ここから
●GetProcAddress({整数}hModule,{整数}lpProcName)=DLL(「kernel32.dll」,「LPVOID GetProcAddress(HMODULE hModule, LPCSTR lpProcName);」)
#ここまで

(#788) RE:DLLの関数の宣言で、戻り値の型に「void *」を指定できない - しらたま (2009-05-21 15:03) /低 確認待ち
修正しました。

-DLL関数の返り値の定義で、「*」が関数名の一部と見なされてしまう不具合を修正。(@192)(r122)

(#807) RE:RE:DLLの関数の宣言で、戻り値の型に「void *」を指定できない - LSI (2009-05-22 22:05) /低 確認待ち
To: しらたまさん

> 修正しました。

修正ありがとうございます。

ver.1.521で、(#532)のGetProcAddress()の宣言ができるか確認してみましたが、下記のエラーが発生しました。
修正が反映されていないようです。

[エラー] com.nadesi.exe.nakopad.temp.nako1.bak(2): DLL「kernel32.dll」に関数「*GetProcAddress」が見当たりません。

(#816) RE:RE:RE:DLLの関数の宣言で、戻り値の型に「void *」を指定できない - しらたま (2009-05-23 14:36) /低 調査中
うーん、おかしいですね。私の手元では下の文でうまくいっているのですが…

●GetProcAddress({整数}hModule,{整数}lpProcName)=DLL(「kernel32.dll」,「void *GetProcAddress(HMODULE hModule, LPCSTR lpProcName);」)

もしかしたら、ダウンロードしたなでしこのアーカイブが破損していた可能性がありますので、再ダウンロードしていただいて、
それでもだめなら、一応どのOSを使っているかお聞かせ下さい。
なお、私はWinXPhomeSP3で確認しています。

(#825) RE:RE:RE:RE:DLLの関数の宣言で、戻り値の型に「void *」を指定できない - LSI (2009-05-24 15:57) /低 解決
To: しらたまさん

> うーん、おかしいですね。私の手元では下の文でうまくいっているのですが…

> ●GetProcAddress({整数}hModule,{整数}lpProcName)=DLL(「kernel32.dll」,「void *GetProcAddress(HMODULE hModule, LPCSTR lpProcName);」)

> もしかしたら、ダウンロードしたなでしこのアーカイブが破損していた可能性がありますので、再ダウンロードしていただいて、
> それでもだめなら、一応どのOSを使っているかお聞かせ下さい。

ver.1.522をダウンロードして、再度確認しました。
上記の文でうまくいっているようですので、解決にします。

(#532)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能