HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0825
いかろモジュール内でDLL7解決


いかろ

リンク

2009/8/25(Tue) 11:37:29|NO.27285

モジュール内とモジュール外で同じDLLを使用したいのですがモジュール外でインクルード
したものをモジュール内で使用するとエラーが出てしまい、モジュール内でもうひとつ
インクルードをするとこれでもエラーが出てしまいます。普通はDLLを使っているところを
モジュールにしなければいい話なのでしょうが、友人と共同開発をしていて、お互いの部分
をモジュール化しているのでいまさらの仕様変更では変数がかぶる可能性があるため、
また時間的な関係(二週間後の文化祭に公開)のためこちらもきつい状況です。
どうにかしてモジュール外とモジュール内で同じDLLを使用する方法はないでしょうか?



この記事に返信する


KA

リンク

2009/8/25(Tue) 12:00:52|NO.27286

>>モジュール外でインクルードしたものをモジュール内で使用するとエラーが出て
>>モジュール内でもうひとつインクルードをするとこれでもエラーが出てしまいます。

 → エラーが有るのに、ダメ押ししても無理では?

質問の意図が良く分かりませんが、まずは
 ”モジュール外でインクルードしたものをモジュール内で使用出来ない。”
を先に聞いたほうが、良いのではないかと思います。
サンプルも付けて下さい。



KA

リンク

2009/8/25(Tue) 12:04:49|NO.27287

追記:
 どんなエラーですか?
 サンプルは”再現できる最小限”にして下さい。



SYAM

リンク

2009/8/25(Tue) 12:06:52|NO.27288

「エラー」とはどんなエラーだったのですか?
ほとんど例外なく、エラーメッセージは欠かすことのできない最重要情報です。


…と思ってHSP3.1でとりあえず「モジュール内と外で同じDLLを利用する」ものを書いたらふつーに動きました。はて?私なにか勘違い?

#include "winmm.as" #module #defcfunc msec timegettime return stat #global timegettime mes stat mes ""+msec() stop



あり

リンク

2009/8/25(Tue) 12:07:25|NO.27289

#funcの定義が重複してるとか?



レノス

リンク

2009/8/25(Tue) 17:52:07|NO.27299

エラーメッセージが「Error: symbol is used in line ...」的な感じだったら、の話です。


// グローバル空間(モジュール外)で定義 #uselib "hoge.dll" #func hogeFunction "hogeFunction" #module module_name // モジュール内部でも定義 #uselib "hoge.dll" #func hogeFunction "hogeFunction" #deffunc hoge hogeFunction return #global hoge hogeFunction

プリプロセスエラー「symbol is used in line 10」

#func の場合、グローバル空間で既に定義されているは、モジュール空間で定義できなくなるようです。
#バグでしょうかね? 一応バグトラックに送っておきます。

ちなみに、グローバルにある #func をモジュールの後に置き直せば、エラーになりません。
また、モジュール内にある #func の識別子を

#func hogeFunction@module_name "hogeFunction"
と、「@モジュール空間名」をくっつければ問題ありません。



ANTARES

リンク

2009/8/25(Tue) 23:54:53|NO.27305

 レノスさんのレスがかすってます。

#include "hspext.as" #module #defcfunc getreg_ int group,str key,str sec,int type,int size regkey@ group,key sdim s,size getreg@ s,sec,type,size return s #global rkey="Software\\Microsoft\\Internet Explorer" regkey 0,rkey sdim s,260 rsec="Download Directory" getreg s,rsec,1,260 mes s mes getreg_(0,rkey,rsec,1,260)



いかろ

リンク

2009/8/26(Wed) 09:37:24|NO.27323

レノスさん、ANTARESさんありがとうございます。まさにそういうことです。
@をつければよかったんですね。
>KAさん
すいませんでした。今度からはエラー内容を書くように気をつけます。



ONION software Copyright 1997-2023(c) All rights reserved.