Originally posted by matty
oShortcut.Arguments = '"' + MsgPlus.ScriptFilesPath + '\\_sendfile.dll",DllInvokeSend ' + _sMyEmail + ' ' + sEmail;
Nope, the script is correct. This is how RUNDLL32 works when calling functions (it searches first for the unicode version). It has got nothing todo with the crash problem.
Originally posted by Matti
Perhaps if we had access the source code of the DLL, we could help you debugging.
This isn't a problem in the DLL's source code (which is exact the same as the EXE which does work). This is a problem in how it is compiled as a DLL and how VB6 works internally like calling the correct entrypoint and instancing its internal objects and that sort of stuff.
If if you would strip everything in the sourcecode to the barebones (eg: simply A=A+1) you will have the exact same problems on Vista.
Note that this DLL does actually something which 99,99% of all people say is impossible: making a 'true' Windows DLL in VB6 (thus without the need to register it as an ActiveX, with a real working DllMain routine, etc), except that it apparently only works on XP
The only thing I can do is compiling it again as an EXE, but that also means it will be removed from the scripting DB again.