I know this is not directlya fortran problem, but maybe someone with a greater programming experience can help me here...
Iwrote asimulation of an industrial furnace system inQuickWin.In the future, this program willrun at a real furnace for temperature calculations etc.
Because the QuickWin UI is not very modern, I should give it a face lift. So I did the following:
- I divided the QuickWin UI as a main program and the calculation kernel as a DLL
- The new GUI will be implemented with WPF and uses the calculation DLL
So I thought about the data exchange. Because the calculation DLL has to be in a seperate software evironment where CORBA is being used, I chose CORBA to avoid work in the future.
I wrote a C++ lib which provides a CORBA Server (mico to be precise). This lib is being linked to the calculation DLL, the CORBA idl files are being imported to WPF by IIOP.net. I tested how to exchange float values, characters, type fields, multidimensional arrays... All worked fine.
And now comes my problem:
I wrote a converter, that coded an interface for every variable we have in our module, which both the UI and the calculation DLL uses. When I called from WPF any interfacefunction, I get a stack overflow error.
Then I reduced the number of functions. At first, there were 558. When I reduce them to 130, it works fine.
I increased the stack size in my fortran calculation DLL to 2100000000 and /LARGEADDRESSAWARE (Support Addresses Larger Than 2 GB) as a linker option, but this didnt help. In my WPF project I cannot influence the stack size.
Has anybody an idea what this could be?
Thanks in advance,