0

VSS 2010 を使用して COM DLL を作成し、レジストリに登録する必要があります。私の目的は、「Excel.Application」、「Word.Application」、「Wscript.Shell」などの DLL を作成したものを使用することです。

CreateObject / New OleObject メソッドを使用してインスタンスを作成し、スクリプト (VBScript または JavaScript) で同じものを使用したいと考えています。

COM オブジェクトの作成とその登録方法を教えてくれる人はいますか?

COM Objectを作成してRegSvr32.exeで登録してみました。「dll がロードされましたが、エントリ ポイントが見つかりませんでした。有効な dll または ocx を確認してください」と表示されます。

これがあなたの参照用の私のコードです...

<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _
Public Class ComClass1 

Public Const ClassId As String = "b3b13b6c-6de5-47cb-ad6f-0ae5c7ce5c59"
Public Const InterfaceId As String = "68536b50-1b47-42d5-970f-d3d34b56d681"
Public Const EventsId As String = "413fa5c3-76fa-44d0-b753-1f3d3f52dbaf" 

' A creatable COM class must have a Public Sub New() with no parameters, 
' otherwise, the class  will not be
' registered in the COM registry and cannot be created
' via CreateObject.

Public Sub New()
    MyBase.New()
End Sub


Public Sub Test1()
    Console.WriteLine("Test1....")
End Sub

End Class

ありがとう、
Shanmugavel.C

4

1 に答える 1

0
  1. クラス ライブラリを作成する
  2. .vb ファイル内で、最初にインターフェイスを作成します。
  3. インターフェイスから継承してクラスを作成します。
  4. プロパティの「署名」タブの下に厳密な名前を作成します。
  5. プロパティの「コンパイル」タブで「Com Interop の登録」を有効にします。
  6. アセンブリ情報を入力します。
  7. ソリューションをビルドします。

この後、

  1. 「Visual Studio 2010 コマンド プロンプト」に移動します。
  2. dll パスに移動します
  3. regasm test.dll /tlb:test.tlb のように「regasm」を使用して dll を登録します。

これで、レジストリ エントリは CLSID とインターフェイスの下で実行されます。それで

  1. gacutil /i test.dll のように "gacutil.exe" を使用して、GAC (グローバル アセンブリ キャッシュ、つまり C:\Windows\Microsoft.Net\Assembly) にエクスポートします。

それだけです.... COM アプリケーションを使用できます....

リンクを参照してください:

http://www.codeproject.com/KB/COM/nettocom.aspx http://www.15seconds.com/issue/040721.htm

于 2011-06-29T05:58:18.253 に答える