Thank you for your help -- I'll hack around a while --
The C is multi-threaded and run some API functions (not Win API:s).
I don't want to rewrite it.
// Bo
Multithreaded: There is one thing that you should know: U++ uses own memory allocator that need some support in threads - basically, as allocator keeps per-thread cache, this cache has to be released when thread finishes.
For you, in practice, this should not be a problem, as long as you do not use new/delete in threads of your C application. But new/delete is (likely to be) used if actually call any U++ code from any non-main thread!
Simple way how to fix this is to specify "USEMALLOC" flag - that kicks out our memory allocator and uses plain malloc/free from the C library (but performance of U++ drops - IMO not an issue if you app depends on malloc/free anyway).
Best solution is to use U++ Thread class for threading. Good solution is to release the per-thread cache at the end of your threads (by calling MemoryFreeThread()