Erich Neuwirth had written to me that MzCOM from the latest PLT release crashed for him, so I went off to investigate. I hadn't run MzCOM (or MysterX) in yonks (as they say here).
I compiled MzCOM from sources using Visual Studio 2008, no issues there. I couldn't get MysterX (libmysterx) to compile, though. The thought was to load MzCOM into MysterX, but it looked like a tough slog to fix the compilation errors. So instead, I decided to write a little C++ driver to load MzCOM. The driver compiled fine, but the Eval method in MzCOM just hung. I haven't yet looked into that. Next, I tried call the About method. Indeed, I saw the About box -- but then MzCOM crashed. The crash is due to a write-to-NULL error around line 368 of salloc.c, in this block: # elif defined(IMPLEMENT_THREAD_LOCAL_VIA_WIN_TLS) *scheme_get_thread_local_variables_ptr() = vars; Here's the driver program: #include "stdafx.h" #include "mzcom.h" int _tmain(int argc, _TCHAR* argv[]) { CLSID clsid; IMzObj *pIMzObj; CoInitialize(NULL); CLSIDFromProgID(L"MzCOM.MzObj.4.2.5.0",&clsid); CoCreateInstance(clsid,NULL,CLSCTX_SERVER,IID_IMzObj, (void **)&pIMzObj); pIMzObj->About(); return 0; } It's a VS2008 project, and you need to add mzcom.h and mzcom_i.c from the mzcom directory in src/worksp. Any ideas? -- Paul _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev