On Thu, 14 Feb 2008 21:47:19 +0100, "Iver Odin Kvello" iverodin@gmail.com wrote:
I'm seeing the same thing, no solution yet.
I tried using 0.12.0 with the old (but patched) rdnzl.dll, with this excel.lisp worked, but not with the newest rdznl.dll. I was first guessing that this had something to do with the Interop stuff, as with http://blogs.msdn.com/ptorr/archive/2004/02/05/67872.aspx, but the problem doesn't actually occur until the code has retrieved a Workbooks-object; this object has no methods (not even GetType.) The object created just using 'new' on the ApplicationClass does have methods and can be made visible, quitted and so forth.
It *should* have nothing to do with the generic types, because all types named are simple non-generic types; and therefore the code should work exactly as before; and indeed as noted 0.12.0 does work with the older .dll.
When using both 0.12.0 and the new dll this happens: RDNZL-USER(7): (range-contents :file-name (namestring (translate-logical-pathname #P"rdnzl:examples;example.xls"))) Error: .NET error (System.Exception): Instance method not found: Microsoft.Office.Interop.Excel.Workbooks::Open(System.String,System.Reflection.Missing, (etc etc etc)
Other instance methods not found are GetType and so forth; basically Workbooks is null or something. But with the older dll, (("Last name" "First name" "Superhero") ("Kent" "Clark" "Superman") ("Wayne" "Bruce" "Batman") ("Parker" "Peter" "Spiderman")) is returned.
This older .dll is just the previous version, patched with the Unbox_Any thing, and compiled with VS2008 express.
Which version of the C++ source code did you use for this? The "official" releases before 0.7.0 were all built with VS 2003 and AFAIR didn't even build with newer version of VS.
Have you tried to compile the DLL from the 0.7.0 source code using VS 2008? I'm asking because I'm beginning to suspect that (my installation of) VS 2005 is the culprit. I've tried with Michael Goffioul's VS 2005 version of 0.5.0 and with Matthew D Swank's VS 2005 version of 0.6.0 and both failed as well.
Strange...