Future plans ToDo: - try to inform Benjamin Maggi of the release - make sure each converted demo has credit for Benjamin Maggi as original author - DONE IEpopup.r - add a note about installation/over-installation: "install by unzipping to your desired directory" - add a "requires External Library Access (tested on View/Pro 1.3.2)" message ? - auto-generate function-lists documentation ? - Maybe have a list of functions with examples from and references to corresponding pairs of C and Rebol demos ? - could possibly autogenerate list of dh functions used by each example in samples_c/ - These functions are interesting and may require notes to help people translate from C to rebol: - ado.c - ZeroMemory <--- - dhFreeString - FOR_EACH <--- - SUCCEEDED <--- - dcom_alt_creds.c - dhCreateObjectEx - email.c - uses BSTR strings - MSHTML.c ... - dhParseProperties - research the different types of strings used. - BSTR - LPCWSTR - LPCOLESTR etc. - naming: comlib disphelper obj <-> pDisp <---- will I keep pDisp or change it to obj on the rebol side ? - put the routines in com2rebol.c/h into the same order as they appear in disphelper.c/h - Fix these two issues of Brett Handley 14-Dec-2005 in "COM Supporting" group Issue 1 - CreateObject won't start Photoshop but does work with Microsoft products like Access, Excel, Word... >> obj_application: createObject "Photoshop.Application" -------------------------------------------------- ERROR: -------------------------------------------------- Member: Photoshop.Application Function: CreateObject Error In: CreateObjectEx Error: %1 is not a valid Win32 application. Code: 800700c1 Source: Application CODE: -2147024703 -------------------------------------------------- If I start PS by hand or use Call from REBOL then there is no problem. It is starting the process which is the issue. ================================================================================== Issue 2 - Photoshop method PrintOut only works the first time, subsequent calls are silently ignored. I had a loop so my workaround was to Quit photoshop programmatically, then restart it with Call - bit of a sledgehammer but I generated my cards :) =============================== Paul: Yes Brett - CreateProcess - test and clean Ben's new demos in my distro - DONE IEPrint.r - DONE PopUPIE.r -> IEpopup.r - script.r - WMI.r - WMI_HOTFIXES.r - remember each allocated object and release them all in reverse order on cleanup ? - convert more C samples from DispHelper - com2rebol.c - make it more "cross-compiler", - define DLLIMPORT like FMOD does (for some code-shrinkage) - DevCpp's DLL code is not much different, so try to support Ben's compiler (see Ben's com2rebol.c) (maintaining compatibility across compilers) However, maybe it's easier to provide DevCPP/ and LCC/ folders with their own files for building the DLL. The difference is: DevCPP: BOOL APIENTRY DllMain (...) com2rebol.c: BOOL WINAPI __declspec(dllexport) LibMain(...) - diagrams - DONE: COMLib-overview-diagram.r - diagram showing COMLib API functions and routines (see list at bottom) - diagram showing com2rebol.dll API functions - diagram showing DispHelper API functions - diagram showing COM API functions - Unicode support. Currently ANSI is converted automatically to Unicode by the com2rebol.c functions. Unicode support is compiled into disphelper by adding #define UNICODE - make-external-library-interface.r (on the DLL header file) ? - Ben's object-like path syntax idea ? - investigate this compiler warning: dllwrap.exe: no export definition file provided. Creating one, but that may not be what you want - XP Connect: check out "David Bradley's excellent COM connect layer." as mentioned here: http://www.iol.ie/~locka/mozilla/plugin.htm#download Can be found in firefox source code, downloaded it from ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.4/source/firefox-1.5.0.4-source.tar.bz2 http://www.mozilla.org/projects/xpcom/ Looks like a larger and more complex system than Disphelper. - Ben's experimental tcp client - Why is this useful for COMLib ? - check out http://mortimer.devcave.net/projects/rebcall I have it in the cache: http://mypage.bluewin.ch/rhurni/files/RebCall-1.0.0.zip The license seems simple and very unrestrictive. - Why is this useful for COMLib ? - Check for newer version http://disphelper.cvs.sourceforge.net/disphelper/ eg. version 0.81 July 7, 2004 http://jaist.dl.sourceforge.net/sourceforge/disphelper/disphelper_081.zip