[rdnzl-devel] Patch for generic types in RDZNL

Iver Odin Kvello iverodin at gmail.com
Thu Feb 14 20:47:19 UTC 2008


>  FWIW, the Excel example doesn't work for me anymore.  This might be
>  due to the changes in the C++ code (and the upgrade to VS 2005), or
>  due to the generic types patch, or due to something being different on
>  my new laptop from how it used to be before, or something entirely
>  different.  I don't have enough time to look into this right now, but
>  I'd be happy if someone else did.

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.

Regards, Iver



More information about the rdnzl-devel mailing list