[rdnzl-devel] Does rdnzl.tar.gz contain an up-to-date build of rdnzl.dll?

Edi Weitz edi at agharta.de
Mon Sep 6 07:11:45 UTC 2010


Hi Walter,

The STA line you're seeing in the source code is from version 0.5.1 of
the C++ source, i.e. from 2006.  The DLL delivered with RDNZL should
definitely be current.  I have no idea why it should be necessary to
recompile it, but I'm not familiar with any recent .NET changes.
Maybe somebody else on the list is?

Also, I'm still running XP and my VS is from 2004... :)

Edi.



On Mon, Sep 6, 2010 at 5:55 AM, Walter GR <waltergr at aol.com> wrote:
> Hi all,
>
> In brief:
>
> Attempting a minimal Windows Presentation Foundation application using
> the RDNZL 0.13.3 tarball and LispWorks Personal 5.1.1 resulted in a "The
> calling thread must be STA" error.  Using a copy of rdnzl.dll built in
> Visual Studio C++ 2010 Express eliminated the error.  Does rdnzl.tar.gz
> contain an old(er) build of rdnzl.dll, or is there something else at work?
>
>
> In detail:
>
> After appropriate calls to "import-assembly", "use-namespace", etc., I
> tried the following, and got the subsequent error:
>
> RDNZL-USER 9 > (let* ((win (new "Window"))
>                       (app (new "Application")))
>                    (setf [%Height win] 300)
>                    (setf [%Width win] 300)
>                    [Run app win])
>
> Error: .NET error (System.InvalidOperationException): The calling thread
> must be STA, because many UI components require this.
>   1 (abort) Return to level 0.
>   2 Return to top loop level 0.
>
> Type :b for backtrace, :c <option number> to proceed,  or :? for other
> options
>
>
> I downloaded the current rdnzl-cpp tarball, and grepped for threading,
> finding
>
> RDNZL\RDNZL.vcxproj:
> <CLRThreadAttribute>STAThreadingAttribute</CLRThreadAttribute>
> RDNZL\Stdafx.cpp:
> System::Threading::Thread::CurrentThread->ApartmentState =
> System::Threading::ApartmentState::STA;
>
>
> Having no idea how to go about debugging the problem directly, I took a
> shot in the dark and built the DLL in Visual Studio C++ 2010 Express.
> It built fine.  I replaced the existing rdnzl.dll and tried again: it
> worked perfectly!
>
>
> Let me know if I can provide any additional details.
>
> Thanks,
>
> Walter
>
> _______________________________________________
> rdnzl-devel mailing list
> rdnzl-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/rdnzl-devel
>
>




More information about the rdnzl-devel mailing list