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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0408
Yap外部DLLの呼び出しに失敗(よくあるエラーだが・・・)11解決


Yap

リンク

2009/4/8(Wed) 21:49:27|NO.24511

HSP内のフォルダおよび実行ファイルと同じフォルダには最新のDLLとASファイルを入れています。
ところが、E3DSigLoadはうまく機能しているのに*mainループ内に書いたE3DSetPosの命令などのところでエラーが
起こってしまいます。なぜでしょうか?



この記事に返信する


tumo0b

リンク

2009/4/8(Wed) 21:50:02|NO.24512

スクリプトをのせてみては?



GENKI

リンク

2009/4/8(Wed) 23:17:58|NO.24516

> 外部DLLの呼び出しに失敗(よくあるエラーだが・・・)

このエラーは多くの場合、引数のミスで起こるようです。
座標値は実数ですが整数を入れても問題なく動くようなので、問題はhsidだと思います。

E3DSetPos命令に渡しているhsidがE3DSigLoadで取得したhsidと一致するか確認してみてください。

資料:http://easy3d.wikiwiki.jp/?EasyFAQ%2F2


追伸:
今回はすぐに分かったからよいのですが、プラグインに関する質問のときは、
使用しているプラグイン名をきちんと明記しておいてくれると助かります。



Yap

リンク

2009/4/8(Wed) 23:46:23|NO.24517

すみませんでした。プラグインはEasy3Dと書くべきでしたね。hsidは確認しましたが、
同じでした。*main外にE3DSetPos等の命令を書くとエラーが起こらなくなります。その
原因がさっぱり分からないのですが・・・。Easy3Dフォルダ内にあるスクリプトはきち
んと動いてくれます。ということは、sigファイルに何か問題がある、ということでしょうか?



GENKI

リンク

2009/4/9(Thu) 00:09:11|NO.24518

> sigファイルに何か問題がある、ということでしょうか?

DLLとASが最新であれば、古いバージョンのSIGファイルでも読み込めるはずなので、
SIGに問題があるとはちょっと考えにくいです。
しかし念のため、プラグインに付属しているサンプルのSIGファイルを使って原因究明したほうがいいと思います。

メインループ内でE3DSetPos命令の第一引数の変数の値が変動していて、
存在しないHSID値をわたしたりはしていませんか?(大丈夫とのことですが念のため…。)



Yap

リンク

2009/4/10(Fri) 09:16:33|NO.24537

3Dを表示させるだけのプログラムでは、何の問題もありませんでした。スクリプトのどこかに
問題があると思います。現在その原因を究明しているところです。原因が分かりましたら
後日報告したいと思います。



Yap

リンク

2009/4/12(Sun) 16:56:14|NO.24600

どうやらE3DCreateQとE3DSetPosの第一引数が同じであったことが原因でした。



ロケットナマコ

リンク

2009/4/14(Tue) 03:31:47|NO.24611

うわー。
手に取るようにわかります(笑)。
ツールが親切志向の場合、どの程度ツールに甘えていいのかサジ加減がわからないので、
とりあえずだらしない気分で書き進めていくうちにどこかで大失敗してしまうんですよね。
いや、もちろん「とりあえず真に受けて図に乗ってみよう!」と、
いともウカウカとお客さん感覚丸出しで飛びついてしまう自分が悪いんですけども。
「俺ってすごいんじゃないの?」といい気になって、どんどん高機能化していくうちに、
うっかり同じ変数名を使ってしまうってのは定番中の定番ですよ。
イタタ。なぜか自分の耳が痛くなってきましたけども。ナゼダロウ???
で、「やっぱりなー。どこかでこう言う凡ミスやると思ってたんだよ。
俺って何で一度痛い目を見ないとわからないかなー」とか思いながら、変数管理の仕組みを考え始めます。
「多次元配列に格納すればソートでイロイロ出来るし、これで何かゲームできないかな?」と、
ちょっとしたやり手プログラマー気分になってきます。
勢い余ってデータベース系の技術に興味を持ってSQLとか調べ始めます。
そしてどんどん完成が遅れて行きます。
ああ!耳の痛さが限界なので今日はこれぐらいにしておいてあげます。
何でこんなに自分の耳が痛いんだろう?



南の島の玉様

リンク

2009/4/14(Tue) 03:40:00|NO.24612

>変数管理の仕組みを考え始めます。

とりあえずググって「ハンガリアン表記法」と言うのを見つけます。
「おお!探していたのはこれだ!」と思いますがしばらくにらめっこした後、
「これは整数を格納している変数名と実数を格納している変数名を区別するようなやり方だな。
俺がやりそうなミスとそれを防ぐコツはこれとは少し違うようだ、、、」と、
俺流変数管理の極意を求めて仕様書書きの荒野へ旅立ちます。
そしてどんどん完成が遅れて行きます。



Sha

リンク

2009/4/14(Tue) 17:33:27|NO.24615

> 俺流変数管理の極意を求めて仕様書書きの荒野へ旅立ちます。
> そしてどんどん完成が遅れて行きます。
事前の仕様固めってすごく重要ですけど、やりすぎると一向に製作に入れなくなりますよねw
3Dの場合、数値のスケールが画面解像度に強制されないのでスケールの仕様がなかなか決まらないです><



ロケットナマコ

リンク

2009/4/15(Wed) 02:10:38|NO.24624

時々ふっと「プログラムの書き方は手段に過ぎない!目的は作品製作だ!」と思って焦りを感じるんですが、
一度ターボがかかった枠組み作りは、一定の段階まで進まないと納得できない状態になってしまうんですよね。
それをやっておかないと何度も同じ失敗をしてしまうし。
特に通信対応って問題が気になり始めると、枠組みを整えておくのは必須になるし。
しかし「自分が納得できる自由度を保ちつつ、枠組みってモノを考えるなら、
カタワクにはめ込む感じより、軸に沿う感じで?そのポイントは?
え?何言ってんだ?俺?何だよ感じって。何アバウトな事言ってんだ?大丈夫か?俺」とか、
奇妙な感覚にとらわれる事があったりするんですよね。
仕様書書きの荒野には魔物が潜んでいますね。
おそるべし仕様書書き。おそるべし変数管理。



南の島の玉様

リンク

2009/4/15(Wed) 02:40:12|NO.24625

>奇妙な感覚にとらわれる事があったりするんですよね。

それが楽しい所なんですけどね。
クリエイティブな気分になれる所だし。



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