The new version (0.13.1) fixes the breakage introduced by my code, so that is good - thanks, and sorry for the mess I caused.
The reason I suggested using Load was that Load generated exceptions where LoadWithPartialName would return nil (it did also complain, but not sufficiently loud that I noticed :-)
Sooo, I think that maybe import-assembly should do something like
(or [LoadWithPartialName ...] (let (..) [Load ...])
That way, if LoadWithPartialName returns nil, Load will have a chance to report the actual error.
Alternatively, we could revert back to using the original code, and add a separate version that uses Load in all its gory glory.
On Tue, Dec 22, 2009 at 2:14 AM, Edi Weitz edi@agharta.de wrote:
I have now released a new version 0.13.1 which uses Load as a fallback (I had the same idea initially) and also exports do-rdnzl-collection. Raymond, thanks again for your help, but essentially this "fix" is against your original idea to catch errors early if an assembly isn't found, right? Do you have a better idea? (And good to hear about your experiences with RDNZL. I don't know of many users who deploy RDNZL "in earnest" - I'm certainly not one of them - but I'm always happy to hear about it.)
Seth, thanks for the report.
Cheers, Edi.
On Tue, Dec 15, 2009 at 12:52 PM, Raymond Wiker rwiker@gmail.com wrote:
I just checked, and it does not appear that I used gacutil to register rdnzl.dll.
I tried running the messagebox example, using rdnzl 0.12.2 and 0.13. 0.12.2 works, 0.13 does not. If I modify import.lisp so that load-assembly uses the old code (with LoadWithPartialName), the example works. Likewise if I change the code to try LoadWithPartialName first, with Load (as used in 0.13) as a fallback. The fallback probably won't help in the loading, but may be useful for error trapping/reporting.
Sorry about this - I will remember to test the demo programs as well as my own code the next time...
If you end up doing a new version instead of a rollback, it would be good to have do-rdnzl-collection exported - it is implemented and documented, but not exported (exactly as it was in the patch i sent, so this, too, is my fault; again, sorry.)
On a more positive note: I'm using rdnzl for feeding documents into a search engine, and rdnzl works just great for me - good performance, and no sign of any memory leaks - and also reasonably easy to get working. Thanks again for allowing me to do (almost) Microsoft-free programming under Windows :-)
On Tue, Dec 15, 2009 at 11:51 AM, Raymond Wiker rwiker@gmail.com wrote:
Could be due to the patch, but I think you may have to explicitly register rdnzl.ddl (using gacutil)? I seem to remember that I had to do that on Win7. I'll take a look on my Win7 installation.
On Tue, Dec 15, 2009 at 8:03 AM, Edi Weitz edi@agharta.de wrote:
Hi Raymond,
I think this is due to your recent patch. Isn't this supposed to work anymore?
Thanks, Edi.
On Tue, Dec 15, 2009 at 12:10 AM, Seth Burleigh seth@tewebs.com wrote:
Im attempting to get this to work on windows 7. I have .net 3.5 installed but when I try this.
(defpackage :rdnzl-test (:use :cl :rdnzl))
(in-package :rdnzl-test)
(enable-rdnzl-syntax)
(import-types "System.Windows.Forms"
"MessageBox" "MessageBoxButtons" "DialogResult")
I get the error
.NET error (System.IO.FileNotFoundException): Could not load file or assembly 'System.Windows.Forms' or one of its dependencies. The system cannot find the file specified.
Im pretty new to all of this, though im guessing this has something to do
with setting environmental vars or something. But since you know the library
I figure you’ll probably know the solution.
Looking forward to getting this to work! Thanks!
rdnzl-devel mailing list rdnzl-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/rdnzl-devel