プロが教えるわが家の防犯対策術!

クラスのメソッド(VBで作成したActiveXDLL)を実行する時、
型が一致しませんというエラーがでます。
クラスのパラメータをリテラルで埋め込むと正常に実行され、
変数を用いるとエラーとなります。
何かお気づきの方、教えてくれたら幸いです

<< asp側 >>
Set SxeObj = Server.CreateObject("sxejancheck.Jancheck")
下の書き方だとOK
ReturnResult = SxeObj.CheckJan ("000001", "1111111111111")
下の書き方だと駄目
pSellerCD = "000001"
pGtinCode = "1111111111111"
ReturnResult = SxeObj.CheckJan (pSellerCD , pGtinCode)

VB(DLL側)
Public Function CheckJan(pSellerCD As String, pGtinCode As String) As Boolean


環境はIE5.5+IIS5.0+WIN2000です。

A 回答 (1件)

ASPはVariant型の変数しか使えません。

お使いのActiveXの引数の型が

CheckJan( As String, As String )

だったら、エラーになると思います(String→VariantはOKだけど、Variant→StringはNG)。

CheckJan( As Variant, As Variant )

とし、内部で、Cstrして、DLLを呼び出してみては。
    • good
    • 0
この回答へのお礼

ありがとうございます。上手くいきました
VBの知識が無くてお手数かけました

お礼日時:2002/08/24 09:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!