Использование DLL в VBScript - PullRequest
11 голосов
/ 23 марта 2012

Я скомпилировал код C # в DLL, но у меня мало опыта с ними. Мой код C # содержит класс HelloWorld со статическим методом Print(). Я хотел бы использовать эту DLL в VBScript для вызова метода Print(). Я знаю, что это основа, но я использую это как тест для более масштабного проекта, который в конце будет скомпилирован в DLL. Как выглядит объявление для этого и как будет выглядеть вызов метода?

Ответы [ 3 ]

20 голосов
/ 24 марта 2012

Если ваша dll зарегистрирована в системе, используйте CreateObject с ее ProgID.

Set myObject = CreateObject("MyReallyCoolObject.HelloWorld")
myObject.Print

Если ваш объект не зарегистрирован в системе, используйте GetObject с путем к файлу, содержащему ваш объект. Убедитесь, что ваш объект предоставляет правильный интерфейс. (Второй параметр является необязательным. Здесь вы можете указать имя класса, если ваш объект предоставляет более одного.)

Set myObject = GetObject("C:\some\path\helloworld.dll", "appname.HelloWorld")
myObject.Print
1 голос
/ 24 марта 2012

Я думаю, что вы, возможно, ищете Регистрация без COM .Этот SO-ответ, касающийся Microsoft.Windows.ActCtx , должен помочь специально для VBScript.

Имейте в виду, что COM не поддерживает статические методы, поэтому вам придется использовать метод Printв методе экземпляра.

1 голос
/ 23 марта 2012
...