Author |
Topic: Wavemix32.dll issue (Read 243 times) |
|
JFS
New Member
member is offline


Posts: 11
|
 |
Re: Wavemix32.dll issue
« Reply #2 on: Sep 5th, 2014, 2:24pm » |
|
on Sep 5th, 2014, 11:03am, g4bau wrote:I presume you are carefully following the recommended sequence of operations for closing down the DLL:
Close all open channels using WaveMixCloseChannel() Free the memory for the waves using WaveMixFreeWave() End the session with WaveMixCloseSession() Free the DLL with FreeLibrary() If you are doing that, but it still refuses to unload cleanly, it would suggest that the DLL itself is at fault. ...
... the GUILIB fiasco made it very obvious that there is no appetite in the BB4W community for such a project (let's face it, there isn't really any BB4W community left at all). |
|
I am indeed doing all of that and spent an age checking a rechecking it all. Indded, as I say, the issue exists even, in code with only WaveMixInit() and WaveMixCloseSession() in it so I assume the dll is the issue - though I have only found reference to the issue in the context of LB VB (and in my case, BB4W) and I don't know if there is any significance in that.
Hindsight would be useful before the event! But I infer from your comment that closing the IDE is the only way to kill the process - so the answer to my question - is there a way of "cleaning up" from with my code - would appear to be "no"?
Incidentally, the Liberty Basic discussion did not seem to conclude with a positive solution to the issue.
I think you might be being a bit hard saying that there is no "community" - rather perhaps that there are too many people like me who use BB4W despite our incompetence to tackle anything as difficult as an IDE!!!
Many thanks,
Howard
|
|
Logged
|
Best Wishes,
Howard
|
|
|
Edja
Developer
member is offline


Posts: 60
|
 |
Re: Wavemix32.dll issue
« Reply #3 on: Sep 5th, 2014, 2:45pm » |
|
Quote:| I think you might be being a bit hard saying that there is no "community" - rather perhaps that there are too many people like me who use BB4W despite our incompetence to tackle anything as difficult as an IDE!!! |
| Very true.The community would benefit if a few more "advanced users" would participate and share. I agree the vast majority are hobbyist/amateurs (including me). But that is not the same as saying there is no community at all.
|
|
Logged
|
|
|
|
rtr2
Guest
|
 |
Re: Wavemix32.dll issue
« Reply #4 on: Sep 5th, 2014, 3:02pm » |
|
on Sep 5th, 2014, 2:24pm, JFS wrote:| I have only found reference to the issue in the context of LB VB (and in my case, BB4W) and I don't know if there is any significance in that. |
|
The 'significance', I think, is that you are only likely to encounter the issue in languages which have an IDE from which you can 'run' a program, which on exit then 'returns' to the IDE without terminating the process.
In the majority of modern programming languages the only way to run a program is first to compile it (either to a stand-alone executable or to an intermediate code which is executed by a run-time engine) and then to run it as a separate process. In such a language you won't normally spot that a DLL is failing to unload properly, because Windows will clean up after it.
So only in languages like BB4W and LB4, in which you are likely to try to run a program two or more times without terminating the process in between, will the problem show up.
Quote:| is there a way of "cleaning up" from with my code - would appear to be "no"? |
|
There is no way you can perform the cleanup that Windows performs when a process terminates, without actually terminating the process!
Quote:| Incidentally, the Liberty Basic discussion did not seem to conclude with a positive solution to the issue. |
|
The 'solution', in the case of Liberty BASIC, is to use LBB rather than LB4! As I explained, although the LBB IDE behaves superficially exactly like the LB4 (and BB4W) IDEs do, behind the scenes it works entirely differently. When you run a BASIC program it is executed in a separate process - even when you are debugging it! Some rather complicated inter-process communication takes place to allow trace-highlighting, profiling and live variable-listing to happen!
There's just one way you can do something similar in BB4W - run your program from the profiler (Utilities... Profiler).
Quote:| I think you might be being a bit hard saying that there is no "community" - rather perhaps that there are too many people like me who use BB4W despite our incompetence to tackle anything as difficult as an IDE!!! |
|
Part of the problem is indeed the lack of people with the necessary skills, the necessary time, the necessary inclination and a willingness to work cooperatively with others. Such people will always be a small proportion of the total user base, so in order for there to be enough of them you need a 'critical mass' of users. BB4W doesn't have that.
Also, the relatively few users who do (or did) fall into that category have, sadly, been disproportionately represented amongst those who have 'moved on' from BBC BASIC to other languages.
|
|
Logged
|
|
|
|
|