Functions

ID #1040

How to correctly declare prototypes and accepting variable to return queue from function and work with it?

Hoping typed queue need must returned?
  MAP
    NewMembersList(),*TMembersQueue
  END

TMembersQueue  QUEUE,TYPE
Name             STRING(60)
Desc             STRING(100)
Index            LONG
               END

MembersList    &TMembersQueue

  CODE
  ...
  MembersList &= NewMembersList()
  IF ~(MembersList &= Null)
    LOOP Mem# = 1 TO RECORDS(MembersList)
      GET(MembersList,Mem#)
      MESSAGE('Name : '&MembersList.Name& |
              'Desc : '&MembersList.Desc& |
              'Index: '&MembersList.Index)
    END
  END
  ...
  IF ~(MembersList &= Null)
    DISPOSE(MembersList)
  END
  RETURN

NewMembersList   PROCEDURE

NewList          &TMembersQueue

  CODE
  NewList &= NEW(TMembersQueue)
  IF ~(NewList &= Null)
    ... ! Filling new queue
  END
  RETURN NewList
It is most common method.

Tags: queue, typed queue, return function

Related entries:

Last update: 2007-07-15 19:37
Author: Aleksey Timkov
Revision: 1.0

Digg it! Print this record Send to a friend Show this as PDF file
Propose a translation for Propose a translation for
Please rate this entry:

Average rating: 0 out of 5 (0 Votes )

completely useless 1 2 3 4 5 most valuable

You can comment on this entry