Thank you, between the cmLL3001.lng, the code in cmbtLL30x.pas and Debwin4’s analysis, I have managed to launch the first job without errors.
But, unfortunately, this has not solved my problem. The reason for migrating to the API is to be able to completely unload CMLL30.dll so that it can be restarted every x iterations.
The problem I encounter is that, using the Microsoft WinDbg tool to analyse the loaded libraries, I find that no matter how many times I call LL30xUnload, CMLL30.dll always appears loaded, with a LoadCount of at least 1, never 0.
If I load the DLL and, without starting any work, unload it, it unloads completely and no longer appears among the DLLs associated with the process, but if I open and close a single job, even if I don’t print anything with it, the CMLL30.dll library can no longer be completely unloaded using LL30xUnload, but always remains pending with a LoadCount = 1.
Is there any way to release it that ensures that it has indeed been completely unloaded?
Or, if this is not possible, is there any way to completely restart the List&Label engine without having to close the process that started it?
Again, the problem I am trying to solve with all this is that, in processes where it has to export thousands of labels, it freezes.
I believe the reason is that the GDI handles are not released properly between prints, as according to the Debwin4 log I find that the GDI handle count reaches over 5700 before freezing and the process stops just when it is creating one of the objects of the next label to be printed…
Can you help me with this?
Thanks again and best regards.
Carlos Torres.