# Ihandle

Definition: | include pGUI.e Ihandle identifier
Description: | Type. An integer > 0. Use this to define interface element variables. It is probably unwise to use this to determine whether an object is an Ihandle, as many things which are clearly not (eg 1, 5000, 'X') will pass. Note that assigning NULL to a variable declared as an Ihandle will trigger a typecheck. Some routines accept or yield an Ihandle or NULL; for such cases the type Ihandln (an integer >= 0) is provided. Some routines can accept an Ihandle or a sequence of Ihandle, for which the type Ihandles is provided. Lastly, some routines can accept an Ihandln or Ihandles, for which the type Ihandlns is provided. For both Ihandles and Ihandlns, the empty sequence is permitted. For Ihandles (but not Ihandlns), nulls within a sequence are prohibited. (The IupDestroy() routine benefits from both allowing and returning embedded NULLs.)
pwa/p2js: | Supported. Or at least understood by pwa/p2js and mapped to "/* Ihandle */", there isn’t actually an Ihandle() in pGUI.js, in line with the notes above, ditto Ihandln, Ihandlns, and Ihandles.
Example: |
    include pGUI.e

    Ihandle quit_bt = IupButton("Quit")
See Also: | IupButton