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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0404
だいちょllmod3とuser32.as14解決


だいちょ

リンク

2012/4/4(Wed) 19:31:13|NO.45797

質問内容は
http://hsp.tv/play/pforum.php?mode=pastwch&num=36145

http://hsp.tv/play/pforum.php?mode=pastwch&num=27860
と同じです。
ただ、どうすれば解決できるのか、具体的なことを知りたいです。
僕はHSPを初めて間も無いですから、知識がないということもありますが・・・
インクルードのソース載せます。

#include "llmod3/llmod3.hsp" #include "llmod3/input.hsp" #include "hspext.as" #include "user32.as" #include "gdi32.as"
です。
これを実行すると、

#HSP script preprocessor ver3.3RC1 / onion software 1997-2011(c) #Use file [hspdef.as] #Error:symbol in use [charlower] in line 43 [user32.as] #Fatal error reported. #Error:symbol in use [charlower] in line 4 [(ファイル名).hsp] #Fatal error reported.
とエラーになってしまします。
なぜ43行が出てくるのかはよくわかりませんが・・・



この記事に返信する


暇人

リンク

2012/4/4(Wed) 20:02:41|NO.45798

自分で貼ったURL先に理由も解決策も書いてるでしょ



cats

リンク

2012/4/4(Wed) 20:13:33|NO.45800

その5つのASファイルを開いてみてください。
どこかで同じDLLを使っているはずです。

#uselib "user32.dll" #func global SwapMouseButton "SwapMouseButton" int #include "user32.as"
このように同じものをuselibとincludeで使っているはずです。



だいちょ

リンク

2012/4/4(Wed) 20:23:50|NO.45802

はい、じゃあどの辺がわからないのか言いますね。

>llmod3.hsp の下の方にある、
>
>
>#deffunc charupper
>
>〜
>
>#deffunc charlower
>
>〜
>
>return
>を、全部コメントにしてみてください。

llmod3.hsp の下の方というのがどこのことなのかよくわかりません。

>呼び出す側で
>#include "llmod3/llmod3.hsp"
>
>#undef charlower
>#undef charupper
>#include "user32.as"
>みたいにしたらどうですか?

僕の場合だと、

#include "llmod3/llmod3.hsp" #include "llmod3/input.hsp" #include "hspext.as" #undef charlower #undef charupper #include "user32.as" #include "gdi32.as"
にすればいいってことですかね?
これをやっても

#HSP script preprocessor ver3.3RC1 / onion software 1997-2011(c) #Use file [hspdef.as] #Error:symbol in use in line 748 [user32.as] #Fatal error reported. #Error:symbol in use in line 6 [(ファイル名).hsp] #Fatal error reported.
とエラーになってしまします。
これまたline 748って意味わからないですけど・・・

>では、“llmod3.hsp”を使う際は“user32.as”はインクルードせずに
>
>
>
>#uselib "user32.dll"
>
>でAPI32命令の必要最小限だけ呼び出して使うようにします。



暇人

リンク

2012/4/4(Wed) 20:38:43|NO.45803

まず理由を理解して
これが理解できないと解決策の応用ができない



GrapeColor(DION)

リンク

2012/4/4(Wed) 20:45:42|NO.45805

>>#Error:symbol in use in line 748 [user32.as]
はつまりuser32.asの748行目でエラーが起きてるってことですよ



だいちょ

リンク

2012/4/4(Wed) 20:51:50|NO.45806

>llmod3.hsp の下の方にある、
>
>
>#deffunc charupper
>
>〜
>
>#deffunc charlower
>
>〜
>
>return
>を、全部コメントにしてみてください。

の意味がやっとわかりました。
llmod3.hspというファイルの下の方にある、ソースをコメントにするってことですね。
これをやっても

#include "llmod3/llmod3.hsp" #include "llmod3/input.hsp" #include "hspext.as" #undef charlower #undef charupper #include "user32.as" #include "gdi32.as"
の時と全く同じエラーになりますが・・・



暇人

リンク

2012/4/4(Wed) 20:54:05|NO.45807

だから一箇所対策しても
他の場所で同じ理由のエラーが起きるから理由を理解してくれと・・・



だいちょ

リンク

2012/4/4(Wed) 21:05:31|NO.45808

なんの理由ですかね・・・



cats

リンク

2012/4/4(Wed) 21:35:00|NO.45811

エラーにどのファイルの何行目でエラーが起きているか書いています。
それを見れば直せると思いますが・・・

#Error:symbol in use in line 「行数」 [ファイル名]
あとuser32とかはuselib使えば直ることもあります。
同じ記事がありました。
http://hsp.tv/play/pforum.php?mode=pastwch&num=43028



暇人

リンク

2012/4/4(Wed) 21:36:45|NO.45812

いやだから・・・
同じ名前で重複して命令等を登録してるからでしょ・・・
だから片方をコメントアウトしたり削除したり個別に登録って解決策が出されてる・・・

モジュール内で登録された命令が使われてたり
登録時の仕様が違ってたりしたら上の対処だけじゃ解決できない場合もある



だいちょ

リンク

2012/4/4(Wed) 21:56:36|NO.45813

user32.asの748行目は、
#func global keybd_event "keybd_event" sptr,sptr,sptr,sptr

でした。 試しにそれを削除して、実行したら、また同じエラーが出ました。 なのでまた748行目の
#func global mouse_event "mouse_event" sptr,sptr,sptr,sptr,sptr
を削除したらできたんですけど、削除してしまって大丈夫ですかね?



暇人

リンク

2012/4/4(Wed) 22:12:38|NO.45814

後々の事も考えるなら

元のuser32.asはcommonフォルダ内に残して
編集したuser32.asを名前を変えて保存するか
編集したuser32.asを製作中のフォルダに入れて使う



だいちょ

リンク

2012/4/4(Wed) 22:29:01|NO.45817

それが一番安全ですね。
そうすることにします。
これで解決できました!
皆さん、本当にありがとうございました。



だいちょ

リンク

2012/4/4(Wed) 22:31:43|NO.45818

あれ?
なんか

#func global keybd_event "keybd_event" sptr,sptr,sptr,sptr #func global mouse_event "mouse_event" sptr,sptr,sptr,sptr,sptr
消さなくても出来た
なんでだろう・・・



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