I took another look at this and discovered that there was a problem when mlEdit was used with a Release (optimised) build of Poly/ML. I'd been testing with the debug build. It was all to do with the way that Windows API calls use Pascal calling conventions (called function removes arguments from the stack) rather than the usual C convention of calling function removing arguments. This is very messy for the foreign function interface code. I've improved it and the CVS version now seems to work properly.
Incidentally, the easiest way I found of linking within VS 6 was to create a new project within the PolyML workspace, add the mlEdit.obj to the project as a source file, set the dependencies of the project to depend on PolyLib and PolyMainLib and add libcmtd.lib and libcmt.lib to the libraries under the Debug and Release configurations. Building the project will do all the linking.
Regards, David