I've posted a RDNZL port of the .NET Picture Viewer tutorial on github, https://github.com/rdparker/cl-picture-viewer. This was mostly a learning experience for me but I thought it might come in handy for others. It's neither great Lisp nor highly informed .NET code, but it is a complete application.
Basically I worked through the C# demo, then peered into the code and hand translated it to what is in the repo. But now I have an idea of how to approach creating a .NET interface for a personal research project.
In the course of writing this a couple questions arose.
1. Is there anyway to call BeginInit on a PictureBox without resorting to C++?
Attempting [BeginInit (cast picture-box "ISupportInitialize")] results in a cast error similar to the IConvertible message referred to in http://lists.common-lisp.net/pipermail/rdnzl-devel/2007-April/000390.html.
2. Is it possible to override random method in .NET object via RDNZL?
As an example in the C# code there is an implementation of Dispose, which I was uncertain if I needed to or how to duplicate it:
protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); }
Edi thank you for writing RDNZL. It has already saved me a lot of time. I'd looked into the managed-unmanaged C++ interop bits of .NET and was not looking forward to writing it all myself.
Thanks,
Ron Parker