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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1106
ひらまるDLLについていろいろ4解決


ひらまる

リンク

2010/11/6(Sat) 22:05:30|NO.35699

HGIMG3で適当に

#include "hgimg3.as" hgini addbox model,10,10 regobj object,model repeat hgdraw hgsync 16 loop
のようなスクリプトを組み、Ctrl+F9で実行ファイルを自動生成します。
そしてできたhsptmp.exeを起動します。
同じフォルダ内にhgimg3.dllがないのに問題なく動作します。なぜでしょうか。
…という質問を書きながら調べていたら、hgimg3.asのソースの先頭に
#runtime "hsp3hg"

という記述を見つけました、次いで#runtimeというプリプロセッサを調べると、 "実行に使用されるランタイムを設定する。" …つまりhgimgの機能が標準で使えるランタイムを使用しているわけですね。 HSPフォルダを調べると他にも"hsplet3"や"hsp3c"などのランタイムと思われるものを見つけました。 そこで質問なのですが、このランタムを自作することはできないでしょうか。 …という質問を書きながら調べていたら、「自作拡張ランタイム」というものがあることを知りました。 そしてこの製作方法は、HSP3.Xでは公式で公開されていないようですね。 最初の実験をした理由というのが、 "DLLをSystem32フォルダに入れれば、プログラムと同じフォルダに置かなくても良いのではないか" と考えたからです。そこで、hgimgではなくeasy3dを使って同じ実験をしてみました。

実行ファイルを生成するとやはり、単体では動きません。
そこで、ウィンドウズのSystem32フォルダに"e3dhsp3.dll"を入れてみると問題なく実行できました。

以上、今回"質問しようとしていたこと"でした。
指摘などあれば 教えてくださると幸いです。



この記事に返信する


f3d

リンク

2010/11/6(Sat) 22:53:43|NO.35700

c++がわかれば作れます。
hspsdkにあるreadmeやhspdllを参照してみてください。



ANTARES

リンク

2010/11/6(Sat) 23:17:43|NO.35702

>そこで、ウィンドウズのSystem32フォルダに"e3dhsp3.dll"を入れてみると
>問題なく実行できました。
 hspext.dll等hsp2から引き継いだDLLはダメだったような気がします。



damage

リンク

2010/11/7(Sun) 10:36:53|NO.35705

聞きたいことはランタイムのことなのかね?DLLの置き場所のことなのかね?



ひらまる

リンク

2010/11/7(Sun) 15:05:02|NO.35706

>聞きたいことはランタイムのことなのかね?DLLの置き場所のことなのかね?
ありがとうございます。
聞きたいことというよりも、自己解決したつもりなのですが、
誤って理解しているところや追加で知っておくと良いことなど、
教えていただきたく、スレを立てさせていただきました。

>hspsdkにあるreadmeやhspdllを参照してみてください。
"hspsdk"たしか、HSPのプラグインを作るためのC++用のSDKですよね。
使ったことはないのですが、拡張ランタイムの作成に使えるということを覚えておきます。
ありがとうございました。

>hspext.dll等hsp2から引き継いだDLLはダメだったような気がします。
ライブラリによっては、System32フォルダにインストールしても動かないものがあるということですね。
今後実行ファイルでエラーが出た際には、そのことも視野に入れてデバッグしたいと思います。
ありがとうございました。



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