Reputation: 5896
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
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
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