kbmMW contains a pretty powerful job scheduler which in next release of kbmMW becomes even more powerful.

It can execute things in a regular interval under various conditions.

But it can also be used for running code asynchronously without having manually to create threaded code.

Eg.

Scheduler.RunNow(
  procedure
  begin
    somelongrunningmethod;
  end);

The procedure will be executed immediately in a different thread, without blocking the executing of the current thread.

But sometimes you want the result of the asynchronous executing to be output to the GUI. And kbmMW’s scheduler now contains easy access to doing that.

var
  res:sometype;
begin
 Scheduler.Run(
   procedure
   begin
      res:=somelongrunningfunction;
   end)
  .SynchronizedAfterRun(
   procedure
   begin
     Memo1.Lines.Add(res);
   end)
  .Activate(true);

In this case, somelongrunningfunction is executed in a seperate thread, and its return value is placed in res. When the result is back, the code in SynchronizedAfterRun is executed, this time synchronized with the main thread, which makes it GUI safe.

Super easy way to execute async with support for updating GUI afterwards.

best regards

Kim/C4D

kbmMW Scheduler Tidbits #2

kbmMW Scheduler Tidbits #3

kbmMW Scheduler Tidbits #4

Loading

3 thoughts on “kbmMW Scheduler Tidbits #1 – Async methods”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.