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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0808
E.T#includeでエラーが出る10解決


E.T

リンク

2014/8/8(Fri) 08:34:00|NO.63559

こんにちは。
#includeでインクルードしたいのですがなぜか実行するとエラーが出ます。

#HSP script preprocessor ver3.4 / onion software 1997-2014(c)
#Use file [hspdef.as]
#Error:symbol in use in line 13 [mod_menu.as]
#Fatal error reported.
#Error:symbol in use in line 5 [codo.hsp]
#Fatal error reported.

コード
#include "user32.as"
#include "obj.as"
#include "mod_menu.as"
#uselib "Footy2.dll"
#include "footy2.as"

ファイルはすべてcommonにあると思います。
検索してもよくわからなかったのでよろしくお願いします。



この記事に返信する


ヒラギノ

リンク

2014/8/8(Fri) 08:37:55|NO.63560

>#uselib "Footy2.dll"
はいらないと思いますよ。



Satio Soft

リンク

2014/8/8(Fri) 08:38:17|NO.63561

Footy2.dllはhsp3.exeがあるディレクトリにある必要があります。
実行ファイルを作成した場合、そのフォルダにもFooty2.dllがある必要があります。



E.T

リンク

2014/8/8(Fri) 09:08:24|NO.63562

うっかりしてDLLをやっていました…
#incluse "footy2.dll"を消してもエラーが出ます…



E.T

リンク

2014/8/8(Fri) 09:09:14|NO.63563

#incluse ⇒ #includeです。
間違えました



rikuriku112233

リンク

2014/8/8(Fri) 09:22:27|NO.63564

commonじゃなくて.hspファイルが保存してある場所に.asファイルを置かないと
エラーが出ますよ



E.T

リンク

2014/8/8(Fri) 10:11:31|NO.63566

いまcodo.hspが保存されているフォルダに#includeしているファイルをコピー
して実行してもエラーが出ます…
#include "mod_menu.as"の部分でエラーが起きてるみたいです。



Mameshiba

リンク

2014/8/8(Fri) 10:13:27|NO.63567

>commonじゃなくて.hspファイルが保存してある場所に.asファイルを置かないとエラーが出ますよ
その場合のエラーは、

#Source file not found.[○○.as]

と表示されるはずですよ。

#Error:symbol in use in line 13 [mod_menu.as]
#Error:symbol in use in line 5 [codo.hsp]

は、mod_menu.as内の13行目で新規命令を登録したときの名称と、codo.hsp内の5行目で新規命令を登録したときの名称が、
同じ名称になってしまっている場合に表示されたはずです。

mod_menu.asの13行目には、user32.dllからの外部DLL呼び出し命令登録がされています。その前に、
user32.asを入れている(つまり、mod_menu.asの13行目の部分で登録した名称(命令)は、先にuser32.asで登録されている)ので、
その部分でエラーが出てしまっているかと思います。

分かりにくかったらすいません…



E.T

リンク

2014/8/8(Fri) 10:38:35|NO.63569

結果レポートには
#HSP script preprocessor ver3.4 / onion software 1997-2014(c)
#Use file [hspdef.as]
#Error:symbol in use in line 14 [mod_menu.as]
#Fatal error reported.
#Error:symbol in use in line 5 [???]
#Fatal error reported.
と表示されました



ぴょぴょ

リンク

2014/8/8(Fri) 11:26:04|NO.63572

このエラーは、回避不可能です。
なぜなら mod_menu.as の内部で user32.as と同じ定義がされてるからです。

メニューを出すために API 関数を使いますよね。
その API 関数が user32.as にも書いてあるので重複エラーになってるのです。
だから user3.as をインクルードするならば mod_menu.as を読み込まないか、
mod_menu.as と同じものをコピーして、メニューに関係する API 関数の定義を削除します。
とにかく API 関数の記述が重複しなければ良いというわけ。

分かりますかね。



E.T

リンク

2014/8/8(Fri) 11:46:11|NO.63574

ありがとうございます。
mod_menu.asを適当にいじっていたらなんとかできました!



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