ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Queue, stack, list and array functions / Queue, stack and list functions
  • Operating mode for a multithread management
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Pops an element from a stack. The element found at the top of stack is deleted and returned in the specified variable.
Example
MyStack is Stack of int
 
// Push the values 1, 2 and 3
Push(MyStack, 1)
Push(MyStack, 2)
Push(MyStack, 3)
 
// Display the trace: 3, 2, 1
x is int
WHILE Pop(MyStack, x) = True
Trace(x)
END
Syntax

Retrieving the element at the top of stack Hide the details

<Result> = Pop(<Stack> [, <Element>])
<Result>: Boolean
  • True if the element was unstacked,
  • False if the stack is empty.
<Stack>: Stack
Name of the Stack variable to be used.
<Element>: Type of elements handled by the stack, optional parameter
Name of variable into which the value of the popped element is returned. If this parameter is not specified, the element is popped but its value is not retrieved.

Retrieving the element at the top of stack (multithread syntax) Hide the details

<Result> = Pop(<Stack> [, <Element> [, <Options> [, <Timeout>]]])
<Result>: Boolean
  • True if the element was unstacked,
  • False if the timeout is exceeded (<Timeout> parameter) or if AdditionCompleted becomes True.
<Stack>: Stack
Name of the Stack variable to be used.
<Element>: Type of elements handled by the stack, optional parameter
Name of variable into which the value of the popped element is returned. If this parameter is not specified, the element is popped but its value is not retrieved.
<Options>: Optional Integer constant
Option for stack management:
WaitIfEmptyWaits for an element to be added into the stack by another thread.
<Timeout>: Optional integer
Maximum timeout expressed in hundredths of a second. This parameter can correspond to:
  • an integer corresponding to the number of hundredths of a second,
  • a Duration variable,
  • the duration in a readable format (e.g., 1 s or 10 ms).
This parameter corresponds to the Infinite constant by default (no maximum timeout).
Remarks

Operating mode for a multithread management

If the stack is empty, Pop waits for an element to be added into the stack. The maximum timeout can be specified by the <Timeout> parameter.
The function returns True if an element has been popped from the stack. Otherwise, it returns False if the timeout has been reached or if the AdditionCompleted property is set to True.
NbPendingThread returns the number of pending threads.
The assignment of AdditionCompleted to True provokes the end of the timeout for all the pending threads. In this case, Pop returns False.
Component: wd290vm.dll
Minimum version required
  • Version 14
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 05/26/2022

Send a report | Local help