ASPからVBの関数にコールするとエラーになってしまいます

[上に] [前に] [次に]
aj 2000/03/23(木) 15:07:37
ASPからVBでActiveXを用いた関数をコールしようとすると
「型が違います」とエラーになります。
引数の型が違うという事だと思いますがASPでは型宣言できないですよね?Long型の引数を渡したいのですが、Cint関数を使っても
結局バリアント型になってしまってるのでしょうか?

初級者 2000/03/23(木) 15:57:25
>Long型の引数を渡したい
それだったらClng関数を使用してみては?

aj 2000/03/23(木) 16:17:56
すいません。間違えました。Clngで渡してます。
もうVB側で型を変更するしか方法はなさそうです。
ただASPで型を指定する方法を知ってる方がいましたら
教えてください。

2000/03/23(木) 18:13:46
バリアント型は値を代入されたら勝手にそれなりの型に変わるわけで、
さらに明確に変換したかったらCLngとかを使います。

aj 2000/03/23(木) 19:58:38
CLngを使うと値自体はLong型に変わるけど、
型自体はバリアント型のままですよね?
なので「型がちがいます」とエラーが出てしまうんです。
VBで試すと上手くいったのですが、ASPからは無理なのかな・・・

2000/03/23(木) 20:12:09
ふむ…
まあ、ActiveXコンポーネント側でキャストし直すのが確実でしょうね。このコンポーネントは自分で作ったものですか?
long型の引数が欲しいとしても、関数側でキャストし直すような
つくりに、予めしておくほうが安全的にもスジかもしれません。

aj 2000/03/23(木) 20:48:20
[[解決]]
誰さん、ありがとうございます。
ActiveX側を変更してもらうようにしました。
ASPで型宣言できないというのを人に聞いただけなので
納得できないなーと思ってましたがちゃんと本に書いてありました。
すいません・・・

[上に] [前に] [次に]