出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() ![]() ![]() ![]() |
[2371] dllのincludeについて |
投稿者:リコさん 2002/07/29 11:44:21 |
はじめまして。 現在asp&VBscriptでページを作成しています。 あるdllをインクルードして、 dll内のクラスを使いたいのですが、どのようにすれば 可能でしょうか。 ***たとえば********************************** clsTest1・clsTest2・clsTest3 といういくつかの クラスがまとめられているTestCommon.dllファイルを includeしてclsTest1を使用したい場合。 <!-- include File = "TestCommon.dll"> Dim clsTCommon ********************************************* ・・・・この先がいろいろ試したのですが、エラーが 連発されてしまって・・・。 どなたか分かる方がいらっしゃいましたら、 教えて下さい。お願いします。m(__)m |
[2372] Re:dllのincludeについて |
投稿者:北岳さん 2002/07/29 13:21:49 |
ASPはバイナリコードを解釈しません。 ASPで使うincudeファイルは、ASPファイルと同じテキストファイルです。 ref: [1103] 【解答例その4】インクルード・ファイル c:\winnt\system32\regsvr32 なんとか.dll でレジストリ登録して、ASPからServer.CreateObject("オブジェクト名.クラス名")で呼ぶのではだめでしょうか。 BASP21の解説 http://www.hi-ho.ne.jp/babaq/basp21.html がご参考になるのでは。 |
[2373] Re:dllのincludeについて |
投稿者:リコさん 2002/07/29 14:08:44 |
ご解答ありがとうございます。 ちょっと以下の点がよく分からなかったので 教えていただきたいのですが・・・・。 > ASPはバイナリコードを解釈しません。 > ASPで使うincudeファイルは、ASPファイルと同じテキストファイルです。 > ref: [1103] 【解答例その4】インクルード・ファイル ↑上記の過去ログを参照しましたが、 これはdllファイルの拡張子を.aspもしくは.incにしなければ ならないということでしょうか?(確かにテキストにも拡張子を .incにしましょう。っとあったのですが。)でも、拡張子を変えたら ↓のように呼び出すのに判別されるのでしょうか? > c:\winnt\system32\regsvr32 なんとか.dll > でレジストリ登録して、ASPからServer.CreateObject("オブジェクト名.クラス名")で呼ぶのではだめでしょうか。 > BASP21の解説 http://www.hi-ho.ne.jp/babaq/basp21.html がご参考になるのでは。 また、すでにdllはレジストリ登録されていてsystem32に 存在していました。basp21のように、 Set TCommon = Server.CreateObject("TestCommon") Set clsTCom = Servre.CreateObject(TCommon.clsTest1) ・・・というようにも試したのですがやはりエラーがでて しまいました・・・・・。(「無効な ProgID」というエラーMsgでした) まだまだ初心者なもので、よく分かっていない点が 多々あるかと思いますが、ご解答よろしくお願いします。 |
[2375] Re:dllのincludeについて |
投稿者:北岳さん 2002/07/29 15:29:19 |
dllをASPのincludeファイルとして呼び出す? ユニークな発想とは思いますが、できません。 >これはdllファイルの拡張子を.aspもしくは.incにしなければ >ならないということでしょうか?(確かにテキストにも拡張子を >.incにしましょう。っとあったのですが。)でも、拡張子を変えたら >↓のように呼び出すのに判別されるのでしょうか? >> c:\winnt\system32\regsvr32 なんとか.dll ■ 拡張子dllを aspもしくは incに変えたら、使用不能になります。 ■はinclude構文とは無関係の構文です。 【1】NT4または2000の場合、c:\winnt\system32にそのdllを置いて、■構文でレジルトリに登録するのが先決。 (system32にdllを置いただけでは手続き不足。) 【2】ASPからは、 Set clsTCom = Servre.CreateObject(TCommon.clsTest1) VB5の場合、プロジェクトエクスプローラで見て、 Project名に書かれているの(デフォルトのオブジェクト名はProject1)がTCommon、 Class名に書かれているの(デフォルトのオブジェクト名はClass1)がclsTest1 の部分です。 それをピリオドで接続し、( )内は引用符で囲み、ついでにServreのスペルを直します。 |
[2384] Re:dllのincludeについて |
投稿者:リコさん 2002/07/31 11:27:42 |
いろいろ、詳しくありがとうございました。m(__)m あれからいろいろと試してみたのですが、 なかなか上手くいかずに苦労してました。(^_^;) 結局、http://support.microsoft.com/default.aspx?scid=kb;ja;jp299635 に載っていたように、一度dllを作り直して サーバー側の設定をちょっと変えて (サーバー管理者に変えてもらったので詳しくはわからないのですが・・・)、 Set clsTCom = Servre.CreateObject(TCommon.clsTest1) ・・・と記述したら使えるようになりました。 ちょっと時間がかかってレスが遅れましたが、 詳しく&分かりやすく教えてくださってありがとうございました。 またなにかあったらよろしくお願いします。m(__)m |
TreeBBS For ASP V.0.1.3 |