Необходимо создать COM DLL для использования в сценариях, как "Excel.Application" - PullRequest
0 голосов
/ 20 июня 2011

Я хочу создать COM DLL, используя VSS 2010, и мне нужно зарегистрироваться в реестре. Моя цель - я хочу использовать созданные DLL, такие как «Excel.Application», «Word.Application», «Wscript.Shell».

Я хочу создать экземпляр с помощью методов CreateObject / New OleObject и использовать его в своих сценариях (VBScript или JavaScript).

Кто-нибудь поможет мне создать COM-объект и как его зарегистрировать?

Я попытался создать COM-объект и попытался зарегистрироваться с помощью 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

1 Ответ

0 голосов
/ 29 июня 2011
  1. Создание библиотеки CLass
  2. Внутри файла .vb сначала создайте интерфейс.
  3. Создание класса путем наследования от интерфейса.
  4. Создать строгое имя в «Подписывающей» вкладке свойств.
  5. Включить «Регистрация для Com Interop» в «Таблице компиляции» свойств
  6. Введите информацию о сборке.
  7. Постройте решение.

После этого

  1. Перейти к «Командная строка Visual Studio 2010»
  2. Перейдите к пути dll
  3. Зарегистрируйте dll, используя "regasm", как regasm test.dll /tlb:test.tlb

Теперь записи реестра будут выполняться под CLSID и интерфейсом. Тогда

  1. Экспорт в GAC (глобальный кэш сборок, т. Е. C: \ Windows \ Microsoft.Net \ Assembly) с использованием gacutil.exe, например gacutil / i test.dll

Это все .... Мы можем использовать приложение COM ....

См. Ссылки:

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

...