Ho compilato codice C# in una DLL, ma ho poca esperienza con loro. Il mio codice C# contiene una classe HelloWorld
con un metodo statico Print()
. Mi piacerebbe utilizzare questa DLL in VBScript per chiamare il metodo Print()
. So che questo è di base, ma sto usando questo come test per un progetto su larga scala che verrà compilato alla DLL alla fine. Come si presenta la dichiarazione e come apparirebbe la chiamata al metodo?Utilizzo di DLL in VBScript
risposta
Se il dll è registrato con il sistema, utilizzare CreateObject
con il suo ProgID.
Set myObject = CreateObject("MyReallyCoolObject.HelloWorld")
myObject.Print
Se l'oggetto non viene registrato nel sistema, utilizzare GetObject
con un percorso del file che contiene l'oggetto. Assicurati che il tuo oggetto esponga l'interfaccia corretta. (Il secondo parametro è opzionale. Qui è possibile fornire un nome classe se l'oggetto espone più di uno.)
Set myObject = GetObject("C:\some\path\helloworld.dll", "appname.HelloWorld")
myObject.Print
Grazie! Questo dovrebbe funzionare splendidamente. – steventnorris
Sono riuscito a utilizzare solo il regasm e quindi "CreateObject". Non ho mai potuto fare il lavoro di 'GetObject'. Mi sto perdendo qualcosa? Grazie! – bluish
Quando inserisco due parametri: Ho ricevuto un errore: _ ** ActiveX Component non può creare l'oggetto 'GetObject'. ** _ Quando inserisco solo il primo parametro: Ho ottenuto: _ ** Nome file o nome classe non trovato durante l'automazione. ** _ – HighTechProgramming15
Ok, ecco come registrare la DLL con il server/sistema nel suo insieme, ma come faccio a dichiarare/chiamare direttamente una DLL in VBScript? Ho letto il link qui sotto che sembra dire che è possibile, ma come sarebbe quello dichiarare se fosse per un metodo statico di una classe? http://support.microsoft.com/kb/106553 – steventnorris
il tuo link parla di visual basic. non vbscript. e la tua domanda ha già avuto risposta: http://stackoverflow.com/a/769346/736170 –
Questo link non risponde alla mia domanda. E scuse sulla confusione della lingua. Ho bisogno di questo per VBScript, ma ho pensato che ci sarebbe stato un processo simile. Voglio chiamare la DLL dal mio script senza dover registrare con il server. Dovrebbe essere caricato dinamicamente in runtime da un percorso file. – steventnorris
Penso che potrebbe essere alla ricerca di Registration-Free COM. Questa risposta SO relativa allo Microsoft.Windows.ActCtx dovrebbe essere di aiuto specifico per VBScript.
Ricordare che COM non supporta i metodi statici, quindi sarà necessario impostare il metodo di stampa in un metodo di istanza.
- 1. Chiamare C# dll in vbscript
- 2. Utilizzo degli argomenti della riga di comando in VBscript
- 3. È possibile eseguire un assembly .NET (dll) da vbscript?
- 4. Come chiamare la funzione DLL C# da VBScript
- 5. Conteggio XPath in VBScript
- 6. Utilizzo di DLL C++ nel progetto C#
- 7. Utilizzo di dll C++ gestita da C#
- 8. Utilizzo di tlbexp.exe su una DLL COM
- 9. Utilizzo di GPL v2 DLL nell'applicazione
- 10. Elenchi in VBScript
- 11. Esiste "\ n" in VBscript?
- 12. Converti VBScript in Javascript
- 13. Utilizzo di una DLL con l'intestazione .h in C++
- 14. Utilizzo di dll in Visual Studio 2010 C++
- 15. Utilizzo della DLL di assemblaggio .NET precompilato in Mono?
- 16. Espeak SAPI/dll utilizzo su Windows?
- 17. vbscript debugger
- 18. Comprensione dell'espressione Const in VBScript
- 19. ByRef e ByVal in VBScript
- 20. Che cos'è & H14 & in VBScript?
- 21. ottenere directory corrente in VBScript
- 22. Matrici di lunghezza zero in VBScript
- 23. supporto di VBScript in Internet Explorer 11
- 24. Implementazione di moduli lazy-loaded in VBScript
- 25. LPAD con zero di in VBScript
- 26. UTC Time Assignment in VBScript
- 27. Utilizzo di VBScript per trovare la data del file più recente in una singola cartella
- 28. Esiste un'implementazione VBScript di Markdown?
- 29. Utilizzo di una DLL con PHP for Dummies
- 30. Utilizzo di funzioni SWIG con wrapping da Windows .dll
possibile duplicato di [Come chiamare la funzione DLL C# da VBScript] (http://stackoverflow.com/questions/769332/how-to-call-c-sharp-dll-function-from-vbscript) – JeffO
Ho fatto controlla quel link, ma non arriva a quello che voglio. Sto cercando di caricare dinamicamente la DLL in fase di runtime tramite VBScript da un determinato percorso file piuttosto che registrarsi con il server. Ancora una volta, le DLL sono molto nuove per me, quindi questo potrebbe essere ciò che sta accadendo in quella risposta, io proprio non lo vedo. – steventnorris