Ich habe C # -Code in eine DLL kompiliert, habe aber wenig Erfahrung damit. Mein C # -Code enthält eine Klasse HelloWorld
mit einer statischen Methode Print()
. Ich möchte diese DLL in VBScript verwenden, um die Methode Print()
aufzurufen. Ich weiß, dass dies eine Basis ist, aber ich benutze dies als Test für ein größeres Projekt, das am Ende in DLL kompiliert wird. Wie sieht die Deklaration dafür aus und wie würde der Methodenaufruf aussehen?
Wenn Ihre DLL im System registriert ist, verwenden Sie CreateObject
mit ihrer ProgID.
Wenn Ihr Objekt nicht auf dem System registriert ist, verwenden Sie GetObject
mit einem Pfad zu der Datei, die Ihr Objekt enthält. Stellen Sie sicher, dass Ihr Objekt die richtige Schnittstelle verfügbar macht. (Der zweite Parameter ist optional. Hier können Sie einen Klassennamen angeben, wenn Ihr Objekt mehr als einen angibt.)
Ich denke, dass Sie nach Registration-Free COM suchen. Diese SO-Antwort bezüglich des Microsoft.Windows.ActCtx sollte speziell für VBScript hilfreich sein.
Denken Sie daran, dass COM statische Methoden nicht unterstützt. Daher müssen Sie Ihre Print-Methode zu einer Instanzmethode machen.