Archive: use system::call and visual basic dll


use system::call and visual basic dll
hi there,

this is my first here so hello all :)

I just started using nsis installer, wow ! that is really great !!!
I've been able to make quick and small installer !!! I've never seen tool so fine before !

anyway there is something I cannot resolve:
use system:call with one of my dll.

here is the code:

;Call Function in Dll
SetPluginUnload alwaysoff
System::Call '$PROGRAMFILES\ExcelTool\TestDll::LoadTool(t 'go')'
SetPluginUnload manual
System::Free 0

What I want is to call a function in my dll:
Public Function LoadTool(sCommand As String)
If sCommand = "go" Then MsgBox "Working!"
End Function

Any idea is welcome :)


You not described the problem in your post. May be


System::Call '$PROGRAMFILES\ExcelTool\TestDll::LoadTool(t "go")'

And did you checked TestDll entry point (for example using VS "Dependency Walker"? BTW, is it TestDll, TestDll.Dll or Test.Dlls?

hi takhi,

my dll name is TestDll.dll

the problem come from here for sure:
System::Call '$PROGRAMFILES\ExcelTool\TestDll::LoadTool(t "go")'

I'm looking for code about entry point in vb but cannot find any piece of code :(


Currently I have not VB installed, but in MS VS you probably can create new dll-type VB project, may be with simple project template. You can also search internet for VB code samples.


I have tried (unsuccessfully) making a VB dll and there were only four exported functions that I didn't add. So now I only use c/c++ for my dlls.