Archive: bassmod trouble - no exiting


bassmod trouble - no exiting
i have some trouble wit the BASSMOD.dll (from the music thread)

i have created a setup with some music - directly started all is fine, the pluginsdir is deleted and its content

if setup is started from 3rd party (also nsis) the bassmod is not deleted and it can not be deleted from setup (tried it with several methods)

can it be that this to nsis programs interfere with the pluginsdir?

(nsis 2 final)


Every NSIS installer has it's own unique plug-ins folder, that should make no difference.


>> Every NSIS installer has it's own unique plug-ins folder

i see this when i control the local temp folder each time i test a setup

but in this case the bassmod is not set free when setup is called from 3rd party

curious :/

i'll test it with a blank script to avoid other circumstances


System plugin has an option to unload the DLL after its called:

u - unload DLL after call (using FreeLibrary, so you'll be able to do something with it, delete for example).

Use "?u" at the end of the line, example:

System::Call"Test::TestFunction(t"lol")i.r0?u"

Not tested, but as System.txt shows, it should work.

this is the hole bassmod part

Function BASSMOD_Init
System::Call /NOUNLOAD 'BASSMOD::BASSMOD_Init(i,i,i) (-1,44100,${BASS_DEVICE_LEAVEVOL})'
FunctionEnd

Function BASSMOD_MusicLoad
System::Call /NOUNLOAD 'BASSMOD::BASSMOD_MusicLoad(i,t,i,i,i) (0,"$PLUGINSDIR\$filename",0,0,${BASS_MUSIC_LOOP}|${BASS_MUSIC_RAMPS}|${BASS_MUSIC_SURROUND}|${BASS_MUSIC_POSRESET})'
FunctionEnd

Function BASSMOD_Free
System::Call 'BASSMOD::BASSMOD_Free'
FunctionEnd

Function BASSMOD_MusicPlay
System::Call /NOUNLOAD 'BASSMOD::BASSMOD_MusicPlay'
FunctionEnd


Function .onGUIEnd
Call BASSMOD_Free
Delete $PLUGINSDIR\*.*
RMdir $PLUGINSDIR
FunctionEnd


Must be
System::Call 'BASSMOD::BASSMOD_Free?u'

...

hey u made it :D

thx :)