| 4D v18Milliseconds | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 Milliseconds 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Milliseconds -> Function result | ||||||||
| Parameter | Type | Description | ||||||
| Function result | Longint |   | Number of milliseconds elasped since the machine was started | |||||
Milliseconds returns the number of milliseconds (1000th of a second) elapsed since the machine was started.
The returned value is a signed longint, up to 2^31 (around 2 billion milliseconds or 24 days). When the machine has been running for more than 24 days, the number becomes negative.
The purpose of the command is to measure short periods of time with a high precision. A 24-day range is more than large enough for comparisons, but you need to be careful. When comparing values, always work with the difference between two values. Never compare the values directly since one could be negative and the other positive.
The following code waits up to 5 seconds for a locked record to become unlocked or it ends:
 If(Locked([Table_1]))
    $starttime:=Milliseconds
    Repeat
       DELAY PROCESS(Current process;15)
       LOAD RECORD([Table_1])
       $waittime:=Milliseconds-$starttime
    Until(Not(Locked([Table_1]))|(Process aborted)|($waittime>5000)) //wait 5 seconds max
 End ifNote: Always compare the difference between two calls of Milliseconds as shown above, never compare directly, e.g.:
 (Milliseconds>($starttime+5000)) //never do it like this, as one could be positive, one negative
	Product:  4D
	Theme:  Date and Time
	Number:  
        459
        
        
        
	
	Created:  4D v6
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D Language Reference ( 4D v18)
	
	
	
	
	
 Add a comment
Add a comment