steventnorris
steventnorris

Reputation: 5896

Using DLLs in VBScript

I've compiled C# code into a DLL, but have little experience with them. My C# code contains a class HelloWorld with a static method Print(). I'd like to use this DLL in VBScript to call the method Print(). I know this is base, but I'm using this as a test for a larger scale project that will be compiled to DLL in the end. What's the declare look like for that and how would the method call look?

Upvotes: 22

Views: 48702

Answers (3)

Nilpo
Nilpo

Reputation: 4816

Important: Both methods will work only if the DLL exposes a COM interface.

If your dll is registered with the system, use CreateObject with it's ProgID.

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

If your object is not registered on the system, use GetObject with a path to the file containing your object. Make sure your object exposes the proper interface. (The second parameter is optional. Here you can provide a class name if your object exposes more than one.)

Set myObject = GetObject("C:\some\path\helloworld.dll", "appname.HelloWorld")
myObject.Print

Upvotes: 30

Cheran Shunmugavel
Cheran Shunmugavel

Reputation: 8459

I think you might be looking for Registration-Free COM. This SO answer regarding the Microsoft.Windows.ActCtx should help specifically for VBScript.

Keep in mind that COM doesn't support static methods, so you'll have to make your Print method into an instance method.

Upvotes: 2

Related Questions