Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   Multitasking (http://www.chiefdelphi.com/forums/showthread.php?t=113303)

JCrusoe 11-02-2013 22:28

Multitasking
 
After a good hour or so of reading through documentations and any other related page I could find, creating new tasks has me stumped. I'm not sure exactly where to put the line of code the documentation shows as an example, or where to point the function to (do I just leave it as FUNCPTR?).
Code:

Task myTask("taskname", (FUNCPTR) functionToStart)
Basically I'm extremely confused haha. I've tried many off the wall things like creating a new object that is a task, and then modifying that line to put in the initialisation. If someone could point me in the right direction I would be eternally grateful =)

Jacque

Tanaythan 12-02-2013 01:23

Re: Multitasking
 
The most common way of implementing a new task is using a static void in an object's class. The compressor class uses a task to monitor the air flow, etc. If you want to write a task, you can take a look at the .cpp of the compressor class. Here is some sample code too.

This is a sample header file.
Code:

class Sample {
public:
//constructor, other functions
private:
Task task;
static void TaskRunner(Sample *s);
};

And here is the corresponding .cpp
Code:

Sample::Sample() :
task("Sample Task", (FUNCPTR) TaskRunner)
{
task.Start((INT32)this);
}

void Sample::TaskRunner(Sample *s) {
//Task code here
}



All times are GMT -5. The time now is 18:25.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi