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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
1015
ぬこ#includeについて5解決


ぬこ

リンク

2016/10/15(Sat) 21:05:46|NO.77161

#incudeについての質問なのですが
#incudeでaslを使用する際にしっかりパスを
入力しているのですが、エディタ上では適用?されるのですが
.exeにして起動すると#Error38というエラーメッセージが
表示されます。

ちなみにasファイルは[files→as→○○○.as]となっているので
パスは[Files/as/○○○.as]と入力しています。

サンプルのスプリクトなどを載せてもらえると助かります

日本語おかしかったらすみません。



この記事に返信する


Velgail

リンク

2016/10/15(Sat) 21:23:40|NO.77162

38 "外部DLLの呼び出しに失敗しました"
外部DLLの関数呼び出しの先のアドレス取得に失敗した場合に表示されます。

ということなので、そのexeに必要なDLLが不足しています。
ライブラリの説明書を確認して、必要なDLLを実行ファイルと同じ場所に入れてください。



ぬこ

リンク

2016/10/15(Sat) 22:27:56|NO.77164

>>Velgail
それはつまり「asファイルはdllファイルと一緒」と
考えて良いのでしょうか

すみません



スペース

リンク

2016/10/15(Sat) 22:48:27|NO.77165

そもそもincludeについて少し勘違いしているかと。
http://lhsp.s206.xrea.com/command/include.html
こちらのページに書いているように、includeとは「HSPのソースコード同士をコンパイル直前に結合するプリプロセッサ命令」です。
従ってexeを生成した時点で、そのソフトにはincludeしたものも含めて全て組み込まれています。

そのエラーはVelgailさんの言うように、外部DLLの呼び出しに失敗した場合に表示されます。
そのasファイルをエディタやメモ帳で開くと、#uselibという命令があるはずです。
#uselibとはHSPから外部DLLを呼び出す命令で、このエラーはここで指定したファイルが存在しない場合に表示されます。



kanahiron

リンク

2016/10/15(Sat) 22:57:23|NO.77166

エディタ上の実行はHSPの開発環境のトップディレクトリにある「hsp3.exe」が実行されます
実行ファイルがdllを探す範囲は実行ファイルと同じ階層のファイルと、システム変数で指定されたフォルダです
トップディレクトリには各プラグインのdll置き場でもありますので、hsp3.exeはdllファイルを読み込むことができます

しかし実行ファイルを作成するとその実行ファイルはスクリプトファイルのある場所に作成されます
そこにdllが無いので、エラー38を出します

作成した実行ファイルを配布する際も同梱を忘れるとダウンロードした人が実行できませんので気をつけてください
またdllは再配布禁止の場合もありますので、その場合はreadmeなどでダウンロードとインストールを促します


というか「HSP エラー38」でgoogle検索すると一番上に解決方法が書いたサイトが出てきますのでまず検索してください…



ぬこ

リンク

2016/10/15(Sat) 23:07:22|NO.77167

ご回答していただいた皆様ありがとうございました
おかげで正常に起動しました

なんだか迷惑かけたようですみません

これからはちゃんとググるなりしてちゃんと自分で
調べようと思います

すみませんですた



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