Hi

I do implementing a easy Timer class. The purpose of timer is launch events
for UI thread and the process thread too when a interval of time is elapsed.

My problem is throwned when I call the message #newProcessWith: from
BlockClosure. I pass an array with a parameter, the instance of CLTimer
class, which is used in the Closure process for launc the events. A error of
not is valid the number of arguments is launched:

             'This block accepts 1 argument, but was called with 0
arguments.'

I don´t understand very good the problem. I have pass an array with one
element, and the Closure receives one parameter too...

Basically the code:

pvtGetNewProcessBlock

        ^[:timer || intervalDelay |
                
                [timer enabled] whileTrue:[
                
                        (Delay forMilliseconds: timer interval) wait. 

                        timer enabled ifTrue:[
                                
                                timer raiseOnElapsedTimeForProcessThread: 
(timer getProcess).
                                
                                WorldState addDeferredUIMessage:[ 
                                        timer raiseOnElapsedTimeForUIThread: 
(timer getProcess) 
                                ].
                        ]
                ].
        ].


pvtStartProcess

    | processBlock |
    
    processBlock := self pvtGetNewProcessBlock.

    internalProcess := processBlock newProcessWith:{self}.
    internalProcess resume.



PD. Exists some complete doc with the way for work with threads in
Pharo/Squeak? I did see time ago a doc of Smalltalk processes, in french
language, but I don´t see in Google :(


http://forum.world.st/file/n2999831/CLTimer.st CLTimer.st 
-- 
View this message in context: 
http://forum.world.st/Implementing-a-Timer-newProcessWith-anArray-fails-tp2999831p2999831.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to