<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16414" name=GENERATOR></HEAD>
<BODY><FONT face=Arial size=2>
<DIV>Hello,</DIV>
<DIV> </DIV>
<DIV>We've recently started using RDNZL for integration between an
internal<BR>application written in ACL 7.0 and a CAD system using a
.Net-based<BR>extension-layer in the latter; using .Net Remoting for
communicating<BR>between the two systems. We've found that RDNZL works robustly,
reliably<BR>and is very easy to use. Thank you very much for creating it.</DIV>
<DIV> </DIV>
<DIV>I have a question with regards to the action of the CAST
operator:<BR>Currently, when CAST'ing from one .Net class to another,
the<BR>type of the container is destructively updated; and there doesn't seem
<BR>to be any way of copying a container so that a reference to the same
<BR>object but with another type can be created. That is, I'd like to
do<BR>something like</DIV>
<DIV> </DIV>
<DIV> (cast foo "SomeType"))<BR> (setq bar
(copy-container foo))<BR> (cast bar "SomeOtherType"))</DIV>
<DIV> </DIV>
<DIV>without the last operating also setting the type of FOO <BR>to
SomeOtherType [1]</DIV>
<DIV> </DIV>
<DIV>Is there some idiom that would work like this that I've missed? If<BR>not,
I guess the functionality would have to be added at the C++<BR>level, which I
haven't really looked at yet. Any pointers would be<BR>appreciated.</DIV>
<DIV> </DIV>
<DIV><BR>Iver Odin Kvello<BR><A
href="mailto:iok@selvaag.no">iok@selvaag.no</A><BR> </DIV>
<DIV> </DIV>
<DIV>[1] The actual situation that came up was this: We have a
remote<BR> object - actually a transparent proxy - of an interface-type
WALL,<BR> and we need to get a reference to its lease. However, to to this
we<BR> must cast the object to MarshalByRefObject, and if we use CAST to
get<BR> this, it is impossible to CAST back to the original
interface<BR> type. We did find a workaround:
using<BR> System.Runtime.Remoting.RemotingServices.GetRealProxy, another
copy<BR> of the transparent proxy is easily obtained, and that can be cast
to<BR> a MBRO instead. But a copy/cast-operator would have been
nicer.</DIV>
<DIV> </DIV>
<DIV></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV></BODY></HTML>