Version 206 No changes Version 205 No changes Version 204 Method and property invocation use COM direct interfaces when possible, instead of IDispatch::Invoke() Methods and properties in inherited COM classes now reported by com-methods, com-get-properties, com-set-properties, and used properly by com-invoke, com-get-property, and com-set-property! Better support for some COM VARIANT types, VT_UINT in particular Version 203 The installer no longer displays dialog boxes when registering the MysterX .DLL files. Instead, successful registration prints a message to the current output port; a failure prints a message to the current error port. Changes contributed by Joe Marshall: internal Marshall... procecedures renamed to Marshal... :-) mx_make_iunknown attempts to get IDispatch pointer if type information for a COM method is unavailable, the Scheme arguments are heuristically injected into a variant and passed to Invoke() without checking Version 202 No changes. Version 201 No changes. Version 200 Ported to PLT Scheme 200 COM cleanup at shutdown now gets all objects In the demo (plt/collects/mxdemo.ss), the mx-browser% object is instantiated using by-name arguments Added block-while-browsers Version 103-p3 Browser windows get reclaimed when browsers are shutdown by a custodian in DrScheme (was fixed in 103-p1, broken again in 103-p2) The first HTML event is received properly after a custodian shutdown in DrScheme (PR 1893) Version 103-p2 Added support for paths of property names in com-get-property and com-set-property! Fixed typechecking of values supplied to com-set-property! Removed right-click context menu from browser windows, because Language option caused errors Added navigate/status, refresh, iconize, restore, and print methods to mx-browser% Fixed and documented keycode, alt-key, ctrl-key, and shift-key attributes of key-{down,up,pressed} HTML events Increased size of HTML event queue to 8192 from 50 Changed browser Windows event loop to use blocking Version 103-p1: Added optional index argument to find-element, find-element-by-id-or-name methods of mx-document% Added methods get-html, get-text to mx-element% class Added title method to mx-document% class Methods find-element, find-element-by-id-or-name, and find-elements-with-tag can return the BODY element itself, as well as its children When a custodian shuts down an mx-browser% object, its Win32 window is destroyed Fixed marshalling of BYREF parameters to COM event handlers, for several types; added VT_INT and VT_INT | VT_BYREF Added com-add-ref, com-ref-count procedures Secondary Windows event loop checks for WM_TIMER messages; some programs were blocking on these when run from DrScheme Version 103: Added support for VT_INT Added conversions com-scode->number, number->com-scode, com-currency->number, number->com-currency, com-date->date, date->com-date Added predicates com-scode?, com-currency?, com-date? Removed 'no-caption option for mx-browser%, until we can make it work Version 102-p1: Added synonyms cci/coclass for cocreate-instance-from-coclass, and cci/progid for cocreate-instance-from-progid com-all-coclasses, com-all-controls return sorted lists Fixed bug when methods, properties return NULL COM objects Added procedure mx-version Version 102: cocreate-instance renamed to cocreate-instance-from-coclass; added cocreate-instance-from-progid; both of these procedures support running remote servers for mx-document% and mx-element% classes, split insert-object and append-object methods into {insert,append}-object-from-coclass and {insert,append}-object-from-progid added Scheme-syntax property getters and setters for HTML elements; old string versions are available as "-native" methods created mx-browser% class with methods navigate, go-back, go-forward, current-url, register-navigate-handler, unregister-navigate-handler, current-document; show and event-handling method of mx-document% moved to the new class constructor for mx-browser% takes same arguments as old constructor for mx-document%; style list may include 'scrollbars com-methods no longer returns methods inherited from IDispatch; results are alphabetically-sorted, also true for com-get-properties, com-set-properties for COM event-handling procedures, added check for ambiguous COM class; added procedures set-coclass! and set-coclass-from-progid! to allow explicit disambiguation; procedures coclass and progid return current value added find-element-by-id-or-name, elements-with-tag to mx-document% added methods selection and set-selection to mx-element% added focus method to mx-element%; works with IE5 or newer only removed getter and setter for whitespace and word-spacing properties, since not implemented by IE4/5 for Windows fixed GC-related problems with COM event handlers fixed error text formatting bug when COM methods returned an error code DHTML test code added, plt/tests/mysterx/dhtmltests.ss improved Makefiles Setup PLT prints warning when no binaries installed Version 101: moved Windows event loop from mx-document% class initialization to unit extra Windows processing loop handles only WM_USER events, fixing various problems running MysterX under DrScheme added AddRef() for HTML elements, fixing occasional crashes on GC added tag, id information for find-element failures renamed mysterx.dll to mxmain.dll, moved all dll's to dlls subdirectory added clean option to Makefile Version 100: made changes for IE5: added Chris Sells' wrapper object in MysPage code coclass->html and {insert,append}-object methods of mx-document% and mx-element% take width, height arguments added call to CoUninitialize() from exit handler Version 100alpha4: added support for multidimensional arrays, with COM SAFEARRAYs stored column-major added com-unregister-event-handler COM event handlers accept named arguments unit exit-handler forces Release() on global COM objects on exit COM objects passed as VARIANTs in methods, properties garbage collection of COM objects passed to COM event handlers works correctly added procedures for com-type's, com-object-type and com-is-a? procedures com-methods, com-get-properties, com-set-properties, com-events, com-method-type, com-get-property-type, com-set-property-type, and com-event-type allow a com-type in place of a com-object Version 100alpha3: unitized C++ and Scheme code added support for COM events added com-object? added finalizers for COM objects inserted into HTML or returned from methods and properties added support for optional and default parameters to COM methods minimal support for SAFEARRAY arguments added test object added, code in plt/tests/mysterx/mystests.ss