comp.lang.ada
 help / color / mirror / Atom feed
From: Andrew Price <whatsfivecentsbuy@gmail.com>
Subject: Newbie: Task parametering
Date: Mon, 17 Oct 2005 10:23:43 +1000
Date: 2005-10-17T10:23:43+10:00	[thread overview]
Message-ID: <4352ef15$0$28225$5a62ac22@per-qv1-newsreader-01.iinet.net.au> (raw)

Hello all,

I need to initialise some tasks with a few parameters when I instantiate 
them. After looking at
http://www.adaic.com/docs/95style/html/sec_6/6-1-3.html it seems the 
best way to do this is using an access type discriminant to pass a 
record to the tasks.

With that in mind, I created this record type;

type Task_Data is
       record
       Name : aliased String(1..8);
       Period : aliased Duration;
       Repetitions : aliased Integer;
    end record;


and then in the main part of my program I use it like this;

    type Task_Handle is access A_Task;  -- used to point to the task
    Another_Task : Task_Handle;
    type Data_Handle is access Task_Data; -- used to point to its data
    Data_For_Task : Data_Handle;

begin  -- The main prog will now spawn three of the above tasks

    -- Parameterise the first task and then start it.
    Data_For_Task := new Task_Data;
    Data_For_Task.Name := "Task A  ";
    Data_For_Task.Period := 0.5;
    Data_For_Task.Repetitions := 5;
    Another_Task := new A_Task(Data_For_Task);

So while this approach works, I can't help but feel that I'm going about 
this in a 'long winded' way (especially coming from a mostly C background).

Is there are neater way of putting the data into the Task_Data records? 
Or is there an better approach to the whole task parameterisation I 
should consider?

Now is probably a good time to add the disclaimer that this is part of a 
lab work exercise for a course I'm currently undertaking at university.

Thanks in advance for any advice,
Andrew.



             reply	other threads:[~2005-10-17  0:23 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-17  0:23 Andrew Price [this message]
2005-10-17  0:53 ` Newbie: Task parametering jimmaureenrogers
2005-10-17  2:37   ` tmoran
2005-10-17  4:10     ` tmoran
2005-10-17  4:58   ` Andrew Price
2005-10-17 10:02     ` Jacob Sparre Andersen
2005-10-17 15:57   ` Poul-Erik Andreasen
2005-10-17 22:51   ` Stephen Leake
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox