[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MysterX changes for 102/11



I've recompiled MysterX for the 102/11 interim
release.  It's available on the anonymous
CVS server:

	http://www.cs.utah.edu/plt/anoncvs/

Changes:  As one dedicated reader observed, the code
to determine a COM object's coclass when
registering a COM event handler did not always
behave correctly.  The problem arises if
1) a COM object does not provide the 
IProvideClassInfo interface, and 2) the 
type library contains more than one coclass 
implementing the interface represented by
the COM object.  This is pretty unusual,
but we've found a type library where this 
happens.

The solution is to detect the ambiguity, which
is reported as a Scheme error.  The programmer
can use new procedures set-coclass! and 
set-coclass-from-progid! to associate a 
specific coclass with a COM object.  Once that's
done, the COM event-handling procedures can 
rely on that information.

Not pretty, but this kludge should not be required
very often.

-- Paul
 ----------------------------------------------------------------
| Paul Steckler              |     Rice University PLT           | 
| steck@cs.rice.edu          |     DrScheme Project              |
| Tel:  713/348-3814         |     http://www.cs.rice.edu/~steck |
| FAX:  713/348-5930         |     *** Ad astra per hackera ***  |
 ----------------------------------------------------------------