Now works :| pvtStartProcess internalProcess := [ self pvtCallProcess: self] fork. pvtGetNewProcessBlock ^[:timer || intervalDelay | [timer enabled] whileTrue:[ (Delay forMilliseconds: timer interval) wait. timer enabled ifTrue:[ timer raiseOnElapsedTimeForProcessThread: (timer getProcess). WorldState addDeferredUIMessage:[ timer raiseOnElapsedTimeForUIThread: (timer getProcess) ]. ] ]. ]. pvtCallProcess: oneParam | processBlock | processBlock := self pvtGetNewProcessBlock. processBlock value: oneParam. Anyway I understand than the other way must be go. Something I did bad. Many thanks for the help -- View this message in context: http://forum.world.st/Implementing-a-Timer-newProcessWith-anArray-fails-tp29... Sent from the Pharo Smalltalk mailing list archive at Nabble.com.