Runtime errors
Compiler errors

Runtime errors:

First time installation problems

Symptom: MathFrame++ will run, but once trying to load an MLL it will crash with various error reasons.
Cause: propably you don't have the MSFLEXGRD.OCX registered on your system. This control comes with many other programs, but a clean windows installation will propably not have it.

Exceptions during MLL run

Symptom: "Fatal error in MathEval parser: Error 5: Unknown sub expression at pos: 0" or similar
Cause: this is propably due to an empty input field in the parameter dialog.
Cure: make sure all parameters have valid values. Eventually your MLL crashed some time before (e.g. because MSFLEXGRD.OCX was not registered) - this leads to a situation where all paremeter values are empty. To resolve the problem step through all parameters and press the Default button, which will fill in a reasonable default value.

Runtime errors associated with checked/debug heaps

Especially if you get runtime errors during unload of the MLL (e.g. during MathFrame++ program termination), you may want to switch checked memory support off. This error typically produces Message boxes similar to the following:

Generally speaking you should not try to build your MLL with your compilers checked heap or checked free store enabled and at the same time use MathFrame++'s mechanism; if you build a debug DLL, switch MathFrame++'s free store checking off by removing or uncommenting the macro MATH_CHECKED_STORE.

Compiler errors:

Cannot compile main program

While this is not actually necessary, since MathFrame++ is open source you may want to compile it and even try to fix bugs or enhance the main program. If you do so, I kindly ask you to report back to one of sourceforge trackers (e.g Bugs or Patches) on
http://sourceforge.net/projects/mathframe/ with your changes so they can be incorporated into the main branch.

Symptom: Compiler cannot find files like xmlparser.h or ImageMagick++.h; linker is missing files like xmlparser.lib; a.s.o.
Propable reasons:
Eventually you are missing one of the necessary library components, namely:

* ImageMagick - download and install it from SourceForge: http://sourceforge.net/projects/imagemagick
* Expat - download and install it from SourceForge: http://sourceforge.net/projects/expat
* MSFLEXGRD (this will not cause compiler errors, but MathFrame++ will not function without it)

After having installed missing components, make sure your lib and include path also point to the according directories of the components.

Errors with iostreams

If you get errors that refer to C++ iostreams, you may want to try to switch iostream support for your MLL off by removing or uncommenting the following define:

#define MATH_IOSTREAM

from your headers (or your CPP if you moved it there). You can however then not use the "wout" global variable for output; instead use pEnv->ConsoleWrite(...)

Errors with memory allocation (new/delete)

If you get compiletime errors that refer to new/delete statements, you may want to try to switch checked memory support for your MLL off by removing or uncommenting the following define:

#define MATH_CHECKED_STORE

from your headers (or your CPP if you moved it there).
Generally speaking you should not try to build your MLL with your compilers checked heap or checked free store enabled and at the same time use MathFrame++'s mechanism; if you build a debug DLL, switch Mathframes free store checking off by removing the macro mentioned above.