At 09:01 PM 7/16/97 +0100, Christoph & Ursula Grein wrote: >The rest of your explanation, Robert, was rather specific to your solution of >the problem (which however you did not show - you *did* show the rather simple >case for limited types) and is still not very clear to me - and I suppose >neither to the rest of us. The problem is that the "final" form of the solution was to use the limited version and define a Copy procedure. That is the elegant, maintainable solution for now. We did have code that "worked" with Controlled, but was very Rube Goldberg, implementation dependent, and didn't deal with issues like multiple tasks at all. I've spent a lot of thinking time on how to create a useable solution to the problem for the next version of Ada. I keep thinking it should be possible, but all the solutions I've found either require using the heap, implicitly or explicitly, or are very implementation dependent. Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...