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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1005
きったんhsp3imp.dll で startup failed のエラーを回避するには?4解決


きったん

リンク

2009/10/5(Mon) 16:46:57|NO.28158

HSP製ではない自作の実行ファイルから、hsp3imp.dllだけを使ってtest.axを呼び出そうとしているんですが、
hspini()を実行するときに startup failed というエラーメッセージが表示され、無視してhspexec()を実行するとOSがクラッシュを検出します。
実行環境はWindows7RCで、HPSは書庫を解凍するのみで使っています。
開発環境からの実行でhsp3imp.dllのサンプルは動きますが、hsp.exe単体で実行すると、やはり同じエラーメッセージが表示されます。

もう少し正確に書くと、UWSCからActiveBasicで作ったDLLを呼び出し、その中で下記コードによりHSPスクリプトを呼び出そうとしています。
.dllや.axファイルは全てUWSCのスクリプトファイルがある場所にあり、実行時のカレントディレクトリになっています。

hsp3imp.dll はC言語からも呼び出せるということだったので、これ単独で利用できると思ったんですが、間違っていたでしょうか。
エラーの原因と考えられることがあれば教えてください。

ちなみにhspini でhWndを渡すべきところを、HSPのサンプルでNULLに書き換えても、表示がおかしくなるだけでエラーにはなりませんでした。


hspprm( 0, 0, 0, NULL ) '// X,Yオフセット hspprm( &h100, 0, 0, VarPtr(phspctx) ) '// HSPCTX取得 hspprm( &h102, 0, 0, StrPtr("test.ax") ) '// HSPオブジェクト設定 hspini( &h100, 300, 200, NULL ) '// HSP初期化 hspexec( 0,0,0,0 ) '// HSP実行



この記事に返信する


KA

リンク

2009/10/5(Mon) 22:24:51|NO.28164

>>HSP製ではない自作の実行ファイルから 〜 OSがクラッシュを検出します。
 → 聞くところが間違っていない??

>>実行環境はWindows7RCで
 → 他はOKなの?

※動作報告なら分かりますが.....



msclover作者

リンク

2009/10/6(Tue) 09:37:49|NO.28171

>>KA
hsp3imp.dllの命令使ってのエラーだからここで聞いてるんだろ?
聞く場所はあってるよ。

自分の分からない質問だからって叩けばいいってもんじゃないだろ。
これが常連回答陣の悪い癖だわ。



足利超神

リンク

2009/10/6(Tue) 17:53:08|NO.28173

>KAさん
聞く場所はここでもおkだと思いますよ。

>msclover作者さん
別にKAさんが質問者さんを叩いている風には見えませんよ。
きめつけるのはよくないと思います。









ここには自己紹介書かないんですね( ',_ゝ`)



きったん

リンク

2009/10/7(Wed) 10:47:22|NO.28183

自己解決しました。
結論を言うとHSPとは関係ないバグでした。
お騒がせして申し訳ありません。

ActiveBasicでの"test.ax"の文字列の扱いを間違っていたようで、hspprm() にちゃんと渡せていなかったようです。
そこを修正したらちゃんと動くようになりました。

hsp3imp.dllでテストスクリプトを使ってみた感じですが、HSPスクリプトが自分で終了する分は問題ないですが、別スレッドで永久ループで動かしていると止まってくれないんですね・・・
本体が終了すれば別スレッドで動いてるHPSスクリプトも勝手に終了してくれると期待していたんですが。



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