VBスクリプトでDLLを利用するには?

解決


ナナ  2004-10-14 16:18:07  No: 116977  IP: [192.*.*.*]

いつもお世話になっております。
質問がVBスクリプトのことなのでこちらで質問してよいかどうか
迷いましたがよろしくお願いいたします。
現在VBスクリプトで作業をしてますが、これまでVB.NETで
作成したDLLファイルをVBスクリプトから利用できたらと考えてます。
VB.NET上では参照に指定すればDLLを利用できましたが
VBスクリプトの場合はどうすれば利用できるかわかりません。
現在もいろいろ調査しておりますが、何かご存知の方いらっしゃいましたら
どうぞご教授ください。
よろしくお願いいたします。

編集 削除
ひろ  2004-10-14 17:04:06  No: 116978  IP: [192.*.*.*]

スクリプトで使用しても安全とマークされているActiveXコンポーネントなら
CreateObjectして使用すればOKですが、そうでないDLLはセキュリティ上の
理由で呼び出しを禁止しています(DLL参照のためのDeclareはありません)。

http://www.microsoft.com/japan/msdn/library/ja/script56/html/vsgrpNonFeatures.asp

#  DLLを直接叩く方法が見つかったら、それはきっと
#「VBScriptにAPIを直接実行できるセキュリティホールが見つかった」
# と報じられ、やがてWindowsUpdateでパッチが配布される事しょう。

編集 削除
ナナ  2004-10-14 17:11:21  No: 116979  IP: [192.*.*.*]

ひろ様
大変参考になりました、ありがとうございます。
仕方ないのでDLLでの処理をそのままスクリプトに関数として追加することにします。

編集 削除
ナナ  2004-10-14 17:40:03  No: 116980  IP: [192.*.*.*]

解決押し忘れました。失礼しました。

編集 削除
Dental  2004-10-16 01:19:29  No: 116981  IP: [192.*.*.*]

そのDLLをCOMコンポーネントとして登録すれば、
VBScriptから CreateObject 等で呼び出せますよ。

編集 削除
ナナ  2004-10-21 18:41:55  No: 116982  IP: [192.*.*.*]

Dental様

ありがとうございます。登録しようとregsvr32を利用したのですが
エラーが返されました。
「DllRegisterServer エントリ ポイントが見つかりませんでした。」
というエラーです。
DLLはVB.NET  2003でクラスライブラリの
プロジェクトで作成してます。
このエラーを解決する方法を
ご存知の方、ご意見お願いします

編集 削除