Updated ( new attachments- repaired):
My HMG version is 3.3.1.
I find method to call CallDll32() WITHOUT memory leaks....
All us need is add copy of this routines to project file with new name.
( but I don't know, may or not new "mm<Local> routines "interfere" with "memory leaks" CallDll32 routines in other libraries.....
I think better will to recompile basic libraries, but I am not a programmer, so need too much time (to me) to find what and how to recompile source of HMG. If any in this forum can understand what wrong in linking and distribution please do it !
And, a bad news as a result - can be other "mistakes" in HMG with good source (?) but with bad linking and building...
So... in attach you can see last may test. In source you can remark one of two lines.
Code: Select all
mmCallDll32( "InternetGetConnectedState", "wininet.dll", @nFlags, 0 ) // without memory leak
//CallDll32( "InternetGetConnectedState", "wininet.dll", @nFlags, 0 ) // with memory leak
//mmCallDll32 ( "sndPlaySoundA" , "WINMM.DLL" , "sample.wav" , 0 ) for real testing dll
In case using CallDll32 - you can see memory leak in test on the screen. In case using mmCallDll32() - you can see test WITHOUT memory leaks. mmCallDll32() function (with sub-functions) - its copy from original source files drom HMG distribution, only add prefiks mm... WITHOUT other change.