For what it's worth - I agree with Frank and, to be honest, can't imagine why you would ever want to make things any more complex by using DLLs etc. I would guess that Frank's interspersed comments within the message below were pretty much made up while he was reading the original message, as they are almost identical to what I was thinking as I read it. As far as reliability is concerned, I would certainly avoid the DLL method and stay within Ada as much as possible. John > I am trying to decide between to different designs that will accomplish > the same task. And I was just wondering if it was possible (or even > recommended) to do. > > Here's the situation via an example: > > - I wish to have a wrapper object that will manage a linked list of data. Protected type around a list (any old list will do). Booch probably already has a protected type queue. > - I have an object that will need to call upong the Wrapper object's > methods to insert, delete and manipulate data inside that linked list. Task > - I have another object that will need to take the contents of the wrapper > object's linked list and process them. Task - sounds like it might overlap some with the task above. > - Finally I have another object that will need to take the processed > linked list and send it say to a serial port. Task > In essense, I'm assuming I can do this be either declaring 3 dlls for each > of those objects plus the dll for the wrapper object with the linked list > making the methods open to the outside world. > > Or I can declare a bunch of Tasks that could potentially be a task for > each of the jobs I need done on the linked lists and execute them > asynchroneously in a controlled environment. > > Only 2 criteria for making this decision. > > 1. I would like the most speed possible. > 2. The most reliable possible. > > Which method would you recommend? Stay platform independent, less complex, easier to maintain, and more reliable. Use the Ada tasking model and a protected type. The tasks will be at least as fast, if not faster, than the DLLs. My $.02. Frank